2. أساسيات TypeScript: الأنواع (Types) والواجهات (Interfaces)
تم بناء Angular بالكامل على TypeScript، وهو مجموعة فائقة من JavaScript تضيف ميزة الكتابة الثابتة الاختيارية (optional static typing). إتقان TypeScript أمر بالغ الأهمية لتطوير Angular.
الأنواع الأساسية (Basic Types)
يقدم TypeScript أنواعاً تسمح للمُصرف (compiler) بفحص التعليمات البرمجية قبل وقت التشغيل، مما يساعد في اكتشاف الأخطاء مبكراً.
typescript // Explicit typing let courseName: string = "Angular Development"; let lessonCount: number = 80; let isCompleted: boolean = false;
// Array types
let technologies: string[] = ['Angular', 'TypeScript', 'RxJS'];
let scores: Array
// Special types let data: any; // تجنب 'any' قدر الإمكان، لأنه يهزم الغرض من TS let unknownValue: unknown; // أكثر أماناً من 'any'
الواجهات (Interfaces)
تحدد الواجهات عقوداً لشكل الكائنات (objects). وهي تضمن التزام الكائن بهيكلية محددة.
typescript interface Student { id: number; name: string; email: string; isEnrolled: boolean; startDate?: Date; // خاصية اختيارية }
// تطبيق الواجهة const studentA: Student = { id: 101, name: "Alice Smith", email: "alice@example.com", isEnrolled: true };
// يضمن فحص النوع أنه إذا أهملنا 'id'، فإن المُصرف يرمي خطأ.
تُعد الواجهات هي الطريقة الأساسية التي نحدد بها نماذج البيانات (data models) في تطبيقات Angular، مما يضمن الاتساق عند جلب البيانات ومعالجتها.