الـ Tuples للقراءة فقط (Readonly)
جزء من قسم Introduction To TypeScript في رحلة JavaScript على Coddy — الدرس 18 من 73.
تماماً كما يمكنك جعل المصفوفات غير قابلة للتغيير باستخدام المعدل readonly، تتيح لك TypeScript إنشاء tuples للقراءة فقط (readonly tuples) لا يمكن تعديلها بعد التهيئة. يوفر هذا نفس فوائد عدم القابلية للتغيير للبيانات المنظمة ذات الطول الثابت.
عندما تضيف readonly قبل نوع tuple، يمنع TypeScript أي تغييرات على عناصر الـ tuple.
هذا يعني أنه لا يمكنك إعادة تعيين القيم في مواضع محددة أو استخدام دوال (methods) من شأنها تعديل محتويات الـ tuple:
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];يعد المعدل readonly ذا قيمة خاصة للتوبلز (tuples) لأنها غالباً ما تمثل بيانات منظمة مهمة مثل الإحداثيات، أو قيم ألوان RGB، أو سجلات قاعدة البيانات التي لا ينبغي أن تتغير بمجرد إنشائها.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلأنشئ tuple للقراءة فقط (readonly) باسم startPoint يمثل نقطة ثنائية الأبعاد برقمين (إحداثيات x و y). قم بتهيئته بالقيمتين 0 و 0.
أنشئ tuple آخر للقراءة فقط باسم colorRGB يمثل قيمة لون RGB بثلاثة أرقام (الأحمر، الأخضر، الأزرق). قم بتهيئته بالقيم 255 و 128 و 64.
أنشئ tuple ثالثاً للقراءة فقط باسم userRecord يحتوي على رقم (معرف المستخدم)، وسلسلة نصية (اسم المستخدم)، وقيمة منطقية (حالة النشاط). قم بتهيئته بالقيم 42 و "admin" و true.
اطبع جميع الـ tuples الثلاثة للقراءة فقط في وحدة التحكم (console) في أسطر منفصلة بالترتيب الذي تم إنشاؤها به.
ورقة مرجعية
أنشئ صفوفًا (tuples) للقراءة فقط باستخدام المعدل readonly قبل نوع الصف لمنع التعديلات بعد التهيئة:
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];
تعد الصفوف (tuples) المخصصة للقراءة فقط مفيدة للبيانات المنظمة مثل الإحداثيات، أو قيم RGB، أو سجلات قاعدة البيانات التي لا ينبغي أن تتغير بمجرد إنشائها.
جرّب بنفسك
// TODO: اكتب كودك هنا
// أنشئ مجموعات (tuples) للقراءة فقط كما هو موضح في التحدي
// اطبع المجموعات الثلاث جميعهايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Introduction To 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) إلى الواجهاتملخص: تحديد هياكل الكائنات