أول كود TypeScript لك
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 3 من 73.
لقد حان الوقت الآن لكتابة أول كود TypeScript خاص بك! الفرق الجوهري بين TypeScript و JavaScript هو القدرة على إضافة توضيحات الأنواع (type annotations) إلى متغيراتك.
يخبر توضيح النوع (type annotation) لغة TypeScript بالضبط بنوع البيانات التي يجب أن يحملها المتغير. الصيغة بسيطة: تضيف نقطتين رأسيتين متبوعتين باسم النوع بعد اسم المتغير.
let variableName: type = value;على سبيل المثال، لإنشاء متغير يمكنه فقط الاحتفاظ بالنصوص (strings)، ستكتب:
let message: string = "Hello, World!";الجزء : string هو تعليق النوع (type annotation). يخبر TypeScript صراحةً أن message يجب أن يحتوي فقط على قيم نصية (string).
إذا حاولت تعيين رقم أو أي نوع آخر لهذا المتغير لاحقًا، فسيقوم TypeScript باكتشاف الخطأ قبل تشغيل الكود الخاص بك.
هذا التحديد الصريح للأنواع هو ما يجعل TypeScript قوية جداً لاكتشاف الأخطاء مبكراً وجعل الكود الخاص بك أكثر قابلية للتنبؤ.
التحدي
سهلقم بإنشاء متغير باسم greeting مع تحديد نوع صريح هو string وقم بتعيين القيمة "Hello, TypeScript!" له.
ثم، قم بطباعة المتغير إلى الكونسول باستخدام console.log().
جرّب بنفسك
// مهام: اكتب الكود الخاص بك هنايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى TypeScript
1البداية مع TS
ما هي TypeScript؟لماذا نستخدم TypeScript؟أول كود TypeScript لكعملية الـ Compilation والأخطاءملخص: مقدمة في TS4التعامل مع الدوال
تحديد أنواع المعاملات وقيم الإرجاعتحديد أنواع Arrow Functionsنوع الإرجاع 'void'المعاملات الاختيارية باستخدام '?'القيم الافتراضية للمعاملاتتحديد أنواع Rest Parametersتعريف أنواع الدوالملخص: بناء دوال محددة الأنواع2الأنواع الأساسية
الأنواع الأساسية: str, num, booleanالنوع 'any': مخرج الهروبالنوع 'unknown'التعامل مع 'null' و 'undef'استنتاج الأنواع في التطبيق العمليتوضيحات الأنواع الصريحةمراجعة: تدريب على الأنواع الأساسية5الأنواع: الأسماء المستعارة، الاتحادات والتقاطعات
الأسماء المستعارة للأنواع الأساسية (Primitives)أنواع الاتحاد ('|')التعامل مع أنواع الاتحادالأنواع الحرفية (Literal Types)أنواع التقاطع ('&')دمج الأسماء المستعارة للأنواعملخص: تركيبات الأنواع المتقدمة3هياكل البيانات: المصفوفات و Tuple
المصفوفات محددة النوع (Typed Arrays)معدل 'readonly' للمصفوفاتما هو الـ Tuple؟تعريف والوصول إلى الـ Tuplesتفكيك الـ Tuples (Destructuring)الـ Tuples للقراءة فقط (Readonly)المصفوفات محددة النوع متعددة الأبعاداستخدام Spread Operator مع المصفوفاتملخص: المصفوفات و Tuples6تحديد أنواع الكائنات والواجهات
توصيف أنواع الكائنات المضمنة (Inline)الأسماء المستعارة للأنواع (Type Aliases) للكائناتمقدمة عن الواجهات (Interfaces)الواجهات (Interfaces) مقابل الأسماء المستعارة للأنواع (Type Aliases)الخصائص الاختيارية وخصائص القراءة فقط (Readonly)توسيع الواجهات والأنواعإضافة الدوال (Methods) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: Playground لـ TypeScript