معدل 'readonly' للمصفوفات
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 14 من 73.
يوفر TypeScript المعدل readonly للمصفوفات، والذي يمنع أي تغييرات على محتويات المصفوفة بمجرد إنشائها.
عندما تضيف readonly قبل نوع المصفوفة، تضمن TypeScript أنه لا يمكنك إضافة عناصر أو إزالتها أو تعديلها. هذا ينشئ هيكل بيانات غير قابل للتغيير وهو مثالي لبيانات التكوين، أو الثوابت، أو أي موقف تريد فيه ضمان عدم تغير المصفوفة.
let colors: readonly string[] = ["red", "green", "blue"];
let numbers: readonly number[] = [1, 2, 3, 4, 5];يمنع المعدل readonly جميع عمليات التعديل مثل push()، و pop()، و splice()، والتعيين المباشر للفهرس. إذا حاولت استخدام هذه الطرق، سيعرض TypeScript خطأ في وقت التجميع (compile-time error)، مما يمنع الأخطاء البرمجية المحتملة قبل تشغيل الكود الخاص بك.
التحدي
سهلأنشئ مصفوفة للقراءة فقط (readonly array) باسم configValues يمكنها فقط احتواء سلاسل نصية وقم بتهيئتها بالقيم "production" و "database" و "cache".
ثم أنشئ مصفوفة أخرى للقراءة فقط باسم ports يمكنها فقط احتواء أرقام وقم بتهيئتها بالقيم 3000 و 5432 و 6379.
أخيرًا، أنشئ مصفوفة للقراءة فقط باسم features يمكنها فقط احتواء قيم منطقية وقم بتهيئتها بـ true و false و true.
اطبع المصفوفات الثلاث للقراءة فقط في وحدة التحكم (console) في أسطر منفصلة وبالترتيب الذي تم إنشاؤها به.
جرّب بنفسك
// مهام: اكتب الكود الخاص بك هنايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى 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