تعريف والوصول إلى الـ Tuples
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 16 من 73.
إن بناء الجملة لإنشاء الـ tuple بسيط ومباشر: حيث تحدد أنواع كل عنصر داخل أقواس مربعة، بالترتيب الدقيق الذي يجب أن تظهر به.
للتصريح عن tuple، استخدم التنسيق [Type1, Type2, Type3] حيث يتوافق كل نوع مع موضع محدد:
let productInfo: [string, number] = ["Laptop", 999];
let coordinates: [number, number] = [10, 20];
let userRecord: [number, string, boolean] = [1, "Alice", true];يعمل الوصول إلى عناصر الـ tuple تماماً مثل الوصول إلى عناصر المصفوفة (array) باستخدام تدوين الفهرس (index notation). يعرف TypeScript النوع الدقيق في كل موضع، لذا تحصل على أمان كامل للأنواع (type safety):
let product: [string, number] = ["Phone", 599];
console.log(product[0]); // "Phone" (يعرف TypeScript أن هذا نص string)
console.log(product[1]); // 599 (يعرف TypeScript أن هذا رقم number)الميزة الرئيسية هي أن TypeScript يفرض كلاً من النوع الصحيح والموضع الصحيح. إذا حاولت الوصول إلى product[0].toFixed()، فسيقوم TypeScript باكتشاف الخطأ لأنه يعلم أن العنصر الأول هو سلسلة نصية (string)، وليس رقماً.
التحدي
سهلقم بإنشاء صف (tuple) باسم productInfo يحتوي على سلسلة نصية (اسم المنتج) متبوعة برقم (السعر). قم بتهيئته باسم المنتج "Gaming Mouse" والسعر 79.
ثم قم بإنشاء صف (tuple) آخر باسم coordinates يحتوي على رقمين يمثلان إحداثيات x و y. قم بتهيئته بالقيم 15 و 25.
قم بالوصول إلى اسم المنتج من صف productInfo وطباعته.
قم بالوصول إلى السعر من صف productInfo وطباعته.
قم بالوصول إلى إحداثي x من صف coordinates وطباعته.
قم بالوصول إلى إحداثي y من صف coordinates وطباعته.
اطبع كل قيمة في سطر منفصل بالترتيب المحدد أعلاه.
جرّب بنفسك
// TODO: اكتب كودك هنا
// أنشئ صف (tuple) باسم productInfo يحتوي على اسم المنتج وسعره
// أنشئ صف (tuple) باسم coordinates يحتوي على إحداثيات x و y
// قم بالوصول إلى كل قيمة وطباعتها كما هو محدديتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى 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 عبر الإنترنت