الأسماء المستعارة للأنواع (Type Aliases) للكائنات
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 38 من 73.
تتيح لك TypeScript إنشاء اسم مستعار للنوع (type alias) يحدد شكلاً قابلاً لإعادة الاستخدام للكائنات.
يستخدم الاسم المستعار للنوع (type alias) الكلمة المفتاحية type لإنشاء تعريف مسمى لهيكل كائن. بمجرد تعريفه، يمكنك استخدام هذا الاسم المستعار في أي مكان تحتاج فيه إلى ذلك الشكل المحدد للكائن:
type Product = {
name: string;
price: number;
inStock: boolean;
};
let laptop: Product = {
name: "Gaming Laptop",
price: 1299,
inStock: true
};
let phone: Product = {
name: "Smartphone",
price: 699,
inStock: false
};التحدي
سهلأنشئ اسم مستعار للنوع (type alias) باسم Book لكائن يحتوي على الخصائص التالية:
titleمن نوعstringauthorمن نوعstringpagesمن نوعnumberisAvailableمن نوعboolean
أنشئ اسم مستعار للنوع (type alias) باسم Movie لكائن يحتوي على الخصائص التالية:
titleمن نوعstringdirectorمن نوعstringdurationمن نوعnumberratingمن نوعstring
باستخدام أسماء مستعارات الأنواع الخاصة بك، أنشئ المتغيرات التالية:
- أنشئ متغيراً باسم
novelمن نوعBookمع title بقيمة"The Great Gatsby"، و author بقيمة"F. Scott Fitzgerald"، و pages بقيمة180، و isAvailable بقيمةtrue - أنشئ متغيراً باسم
textbookمن نوعBookمع title بقيمة"TypeScript Handbook"، و author بقيمة"Microsoft"، و pages بقيمة450، و isAvailable بقيمةfalse - أنشئ متغيراً باسم
filmمن نوعMovieمع title بقيمة"Inception"، و director بقيمة"Christopher Nolan"، و duration بقيمة148، و rating بقيمة"PG-13"
أنشئ دالة باسم getBookInfo تقبل معاملاً من نوع Book وتعيد string بالتنسيق "[title] by [author] - [pages] pages".
أنشئ دالة باسم getMovieInfo تقبل معاملاً من نوع Movie وتعيد string بالتنسيق "[title] directed by [director] ([duration] min)".
اطبع المخرجات التالية في أسطر منفصلة:
- استدعِ
getBookInfoمعnovelواطبع النتيجة - استدعِ
getBookInfoمعtextbookواطبع النتيجة - استدعِ
getMovieInfoمعfilmواطبع النتيجة - اطبع حالة التوفر لـ
novel(الخاصيةisAvailable)
جرّب بنفسك
// TODO: اكتب كودك هنا
// إنشاء أسماء مستعارة للأنواع (type aliases) لكل من Book و Movie
// إنشاء متغيرات باستخدام الأسماء المستعارة للأنواع
// إنشاء دوال للحصول على المعلومات
// طباعة المخرجات المطلوبةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى 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) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: مترجم JavaScript عبر الإنترنت