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

سجل التعديلات

العودة إلى المقال

الفرق مقارنةً بالنسخة السابقة

+ **TypeScript** لغة مبنية فوق JavaScript تضيف **الأنواع الساكنة**. يُحوَّل الكود إلى JavaScript عادية، والأنواع تُفحص وقت البناء فقط ولا وجود لها وقت التشغيل.
+ ## أنواع أساسية
+
+ ```ts
+ type User = { id: string; name: string; email?: string }; // email اختياري
+ function initials(u: User): string {
+ return u.name.split(' ').map((w) => w[0]).join('');
+ }
+ ```
+
+ ## الاتحادات وتضييق الأنواع
+
+ ```ts
+ 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)
+
+ ```ts
+ 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. معتمدالنسخة الحاليةفريق عرب كودرسمي

    مقال مرجعي رسمي من فريق عرب كود

    ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)