🔷 شرح TypeScript

البدء والإعداد (tsconfig)

تثبيت TypeScript

TypeScript يعمل فوق Node.js. ثبّته عالميًّا أو داخل المشروع:

npm install -g typescript     # عالميًّا
tsc --version                 # للتأكّد من التثبيت

ترجمة الكود

TypeScript لا يعمل في المتصفّح مباشرة — نترجمه إلى JavaScript بالأمر tsc:

tsc app.ts        # ينتج app.js
node app.js       # نشغّل الناتج

ملف app.ts:

const message: string = "مرحبًا TypeScript";
console.log(message);

ملف الإعداد tsconfig.json

ينشئ هذا الأمر ملف إعدادات المشروع:

tsc --init

أهم خياراته:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ESNext",
    "strict": true,
    "outDir": "./dist",
    "rootDir": "./src"
  }
}
  • strict: يفعّل كل الفحوص الصارمة — فعّله دائمًا، فهو سبب وجود TypeScript أصلًا.
  • target: إصدار JavaScript الناتج.
  • outDir / rootDir: مجلّدات الإخراج والمصدر.

الوضع المراقِب (Watch)

يعيد الترجمة تلقائيًّا عند كل حفظ:

tsc --watch

الأدوات (Tooling)

  • VS Code يدعم TypeScript جاهزًا — أخطاء فورية واقتراحات ذكية.
  • ts-node لتشغيل ملفات .ts مباشرة دون ترجمة يدوية:
npx ts-node app.ts

أخطاء شائعة

  • توقّع تشغيل .ts في المتصفّح/Node مباشرة — لا بدّ من الترجمة أولًا.
  • نسيان تفعيل strict فتضيع أهم فائدة من TypeScript.

🎯 التالي: الاستنتاج التلقائي مقابل التحديد الصريح للأنواع.