ملخص: تحديد هياكل الكائنات
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 44 من 73.
التحدي
سهلأنشئ واجهة (interface) باسم Computer بالخصائص والأساليب (methods) التالية:
idمن نوعnumber(readonly)brandمن نوعstringramInGBمن نوعnumber(اختياري)isLaptopمن نوعboolean- أسلوب
bootلا يأخذ أي معاملات ويعيدvoid
أنشئ واجهة باسم Server بالخصائص والأساليب التالية:
hostnameمن نوعstring(readonly)operatingSystemمن نوعstringmaxConnectionsمن نوعnumber(اختياري)isOnlineمن نوعboolean- أسلوب
restartلا يأخذ أي معاملات ويعيدvoid - أسلوب
getStatusلا يأخذ أي معاملات ويعيدstring
باستخدام الواجهات الخاصة بك، أنشئ المتغيرات التالية:
- أنشئ متغيراً باسم
workstationمن نوعComputerمع id بقيمة1001، وbrand بقيمة"Dell"، وramInGB بقيمة16، وisLaptop بقيمةfalse، وأسلوبbootيطبع"Dell workstation is booting up..." - أنشئ متغيراً باسم
laptopمن نوعComputerمع id بقيمة1002، وbrand بقيمة"MacBook"، وisLaptop بقيمةtrue، وأسلوبbootيطبع"MacBook laptop is starting..." - أنشئ متغيراً باسم
webServerمن نوعServerمع hostname بقيمة"web-01"، وoperatingSystem بقيمة"Ubuntu"، وmaxConnections بقيمة1000، وisOnline بقيمةtrue، وأسلوبrestartيطبع"Restarting web-01 server..."، وأسلوبgetStatusيعيد"web-01 is online"
أنشئ دالة باسم checkComputerSpecs تقبل معاملًا من نوع Computer وتعيد string. يجب أن تعيد الدالة علامة الحاسوب التجارية ونوعه بالتنسيق "[brand] [laptop/desktop]" (استخدم "laptop" إذا كان isLaptop صحيحاً، وإلا فاستخدم "desktop").
أنشئ دالة باسم getServerInfo تقبل معاملًا من نوع Server وتعيد string بالتنسيق "[hostname] runs [operatingSystem]".
اطبع المخرجات التالية في أسطر منفصلة:
- استدعِ أسلوب
bootعلىworkstation - استدعِ أسلوب
bootعلىlaptop - استدعِ
checkComputerSpecsمعworkstationواطبع النتيجة - استدعِ
checkComputerSpecsمعlaptopواطبع النتيجة - استدعِ أسلوب
getStatusعلىwebServerواطبع النتيجة - استدعِ
getServerInfoمعwebServerواطبع النتيجة - اطبع id الخاص بـ
workstation - استدعِ أسلوب
restartعلىwebServer
جرّب بنفسك
// TODO: اكتب كودك هنا
// أنشئ واجهة Computer بالخصائص والأساليب المطلوبة
// أنشئ واجهة Server بالخصائص والأساليب المطلوبة
// أنشئ متغيرات workstation و laptop و webServer
// أنشئ دالتي checkComputerSpecs و getServerInfo
// اطبع جميع المخرجات المطلوبةجميع دروس مقدمة إلى 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