سجل التعديلات
الفرق مقارنةً بالنسخة السابقة
+ **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.
مقال مرجعي رسمي من فريق عرب كود
ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)