مقدمة عن TypeScript
لماذا TypeScript؟ (مميزاته مقارنةً بـ JavaScript)
شرح التثبيت خطوة بخطوة (Installation guide from A to Z)
إعداد مترجم TypeScript (tsc)
إنشاء أول مشروع TypeScript
فهم ملف الإعدادات tsconfig.json
التعامل مع الأنواع الأساسية (string, number, boolean, null, undefined, any, unknown, never)
الاستنتاج التلقائي للنوع مقابل التعريف الصريح
المصفوفات (Arrays) والـ Tuples
الـ Enums (عددية، نصية، مختلطة)
الأنواع الموحدة (Union types)
الأنواع المتقاطعة (Intersection types)
الفروق بين Type Aliases و Interfaces
الخصائص الاختيارية والـ readonly
الدوال في TypeScript (المعاملات وقيم الإرجاع)
التحميل الزائد للدوال (Function overloading)
الدوال السهمية (Arrow functions) مع الأنواع
تأكيد النوع (Type assertion) وتضييق النوع (Type narrowing)
فحص النوع (Type guards) باستخدام typeof, instanceof, وطرق مخصصة
الكلاسات والمبادئ الأساسية لـ OOP في TypeScript
الـ Constructors، الخصائص والـ Methods
محددات الوصول (public, private, protected)
الوراثة والتعددية الشكلية (Inheritance & Polymorphism)
الكلاسات المجردة (Abstract classes)
الـ Interfaces وتطبيقها في الكلاسات
مقدمة عن الـ Generics
الدوال والكلاسات العامة (Generic functions & classes)
القيود في الـ Generics (Constraints)
الأنواع المساعدة (Utility types: Partial, Required, Pick, Omit, Record)
الأنواع المشتقة والشرطية (Mapped & Conditional types)
الأنواع المفهرسة (Indexed access types) و الكلمة المفتاحية keyof
العمل مع الـ Modules والـ Namespaces
مقدمة عن ملفات التعريف (.d.ts)
التعامل مع المكتبات الخارجية و DefinitelyTyped
الـ Decorators (على الكلاسات، الدوال، الخصائص، المعاملات)
الـ Mixins في TypeScript
التعامل مع الأخطاء باستخدام الأنواع
خيارات الوضع الصارم (Strict mode options: strict, noImplicitAny, strictNullChecks … إلخ)
إعدادات متقدمة في tsconfig.json
استخدام TypeScript مع Node.js
بناء REST API باستخدام Express + TypeScript
TypeScript مع قواعد البيانات (TypeORM / Prisma)
استخدام TypeScript مع React
تعريف الـ Props والـ State في React
كتابة الأنواع مع Hooks (useState, useReducer, useRef, useContext)
كتابة الأنواع مع الأحداث (Forms, Buttons, Inputs)
الـ Context API مع TypeScript
Higher Order Components و Render Props مع TypeScript
التعامل مع مكتبات React التي لا تحتوي Types
إعداد ESLint + Prettier مع TypeScript
اختبار الوحدات (Unit Testing) باستخدام Jest + ts-jest
إعداد CI/CD لمشاريع TypeScript
كتابة كود نظيف وقابل للصيانة في TypeScript
تحويل مشروع JavaScript إلى TypeScript خطوة بخطوة
أفضل الممارسات في المشاريع الكبيرة بـ TypeScript
أنماط التصميم (Design Patterns) في TypeScript (Repository, Singleton, Dependency Injection)
