تخطَّ إلى المحتوى
ARAB CODEمجتمع المطورين العرب

TypeScript

TypeScript لغة مبنية فوق JavaScript تضيف الأنواع الساكنة. يُحوَّل الكود إلى JavaScript عادية، والأنواع تُفحص وقت البناء فقط ولا وجود لها وقت التشغيل.

أنواع أساسية

type User = { id: string; name: string; email?: string };   // email اختياري
function initials(u: User): string {
  return u.name.split(' ').map((w) => w[0]).join('');
}

الاتحادات وتضييق الأنواع

type Result = { ok: true; data: User } | { ok: false; error: string };

function show(r: Result) {
  if (r.ok) console.log(r.data.name);   // هنا r.data معروفة
  else console.error(r.error);
}

الأنواع العامة (Generics)

function first<T>(items: T[]): T | undefined {
  return items[0];
}
const n = first([1, 2, 3]);   // number | undefined

إعدادات مهمة

فعّل "strict": true في tsconfig.json؛ يتضمن strictNullChecks الذي يمنع أشهر الأخطاء: استخدام قيمة قد تكون undefined.

أخطاء شائعة

  • الإكثار من any يلغي فائدة اللغة؛ استخدم unknown ثم ضيّق النوع.
  • الاعتماد على الأنواع للتحقق من بيانات خارجية: الأنواع لا تعمل وقت التشغيل، فتحقق من مدخلات المستخدم والـ API بمكتبة مثل Zod.

المصادر

  1. TypeScript Handbook