تثبيت TypeScript وأول برنامج
Installing TypeScript and First Program
تثبيت TypeScript — Installing TypeScript
قبل كتابة أي كود، تحتاج بيئة عمل. TypeScript لا يعمل مباشرة في المتصفح أو في Node.js؛ هو compiler يحول .ts إلى .js.
المتطلبات: Node.js ≥ 20
- macOS: ثبّت عبر Homebrew:
brew install node - Linux: استخدم مدير الحزم مثل
apt install nodejs npmأوdnf install nodejs - Windows: نزّل المثبت الرسمي من nodejs.org/en/download، أو استخدم WSL (موصى به للمطورين)
تحقق من التثبيت:
node --version # يجب v20+
npm --version
تثبيت TypeScript
خيار 1 — عالمي (للتجربة السريعة):
npm install -g typescript
tsc --version
خيار 2 — لكل مشروع (الموصى به):
mkdir my-project && cd my-project
npm init -y
npm install -D typescript @types/node
تشغيل ملف TypeScript مباشرة
استخدم tsx — أسرع من ts-node ويدعم TypeScript v5 مع ESM:
npm install -D tsx
npx tsx hello.ts
إنشاء tsconfig.json
في مجلد المشروع:
npx tsc --init
هذا يُنشئ tsconfig.json بالقيم الافتراضية. سنشرح خياراته في الفصل الثامن.
أنواع Node.js
أي درس من الفصل العاشر فصاعداً يحتاج @types/node:
npm install -D @types/node
بدونه لن يعرف TypeScript واجهات process, fs, وغيرها.
أول برنامج — First Program
سنكتب أول برنامج TypeScript بسيطاً لكنه منظم. لا نريد فقط console.log("Hello"); نريد دالة تستقبل قيمة typed وترجع نصاً. هذا يوضح فلسفة TypeScript من البداية: البيانات لها شكل، والدوال لها عقد.
ابدأ باسم واضح. studentName: string يعني أن الاسم نص. الدالة welcome تستقبل النص وترجع نصاً. عندما تقرأ signature قبل جسم الدالة، تفهم استخدامها بدون قراءة التفاصيل. هذه واحدة من أهم فوائد TypeScript: القدرة على فهم الحدود بسرعة.
لا تكتب annotations في كل مكان إذا كان TypeScript يستطيع الاستنتاج. لكن في الدوال العامة، من الجيد توضيح أنواع المعاملات والقيمة المرجعة لأنها تمثل عقداً مع بقية الكود.
البرنامج الكامل
لاحظ أن message لم نكتب نوعه. TypeScript يستنتج أنه string لأن welcome ترجع string. هذا توازن جيد: نكتب النوع عند الحدود، ونترك الاستنتاج يعمل داخل التنفيذ.
أخطاء شائعة
أول خطأ هو استخدام any مبكراً للهروب من compiler. هذا يلغي قيمة TypeScript. الخطأ الثاني هو كتابة أنواع غير دقيقة مثل object لكل شيء. الأفضل أن تصف الخصائص التي تحتاجها فعلاً. الخطأ الثالث هو الخلط بين فحص الأنواع وفحص البيانات الخارجية؛ سنعود له لاحقاً.