AzLearn

المصفوفات والكائنات

Arrays and Objects

مفهوم ~17 دقيقة

المصفوفات والكائنات — Arrays and Objects

المصفوفة تحفظ قائمة من قيم لها نوع. string[] تعني قائمة نصوص، وnumber[] قائمة أرقام. يمكن أيضاً كتابة Array<string>. اختر الصيغة الأبسط في السياق. في الدروس الأولى، string[] واضحة ومباشرة.

الكائن object يمثل مجموعة خصائص. يمكنك كتابة النوع مباشرة: { id: number; name: string }. لكن إذا تكرر الشكل، الأفضل تسميته بـtype أو interface لاحقاً. التسمية تجعل الكود يقرأ كمجال حقيقي: User, Lesson, Invoice.

مثال عملي

index.ts

لاحظ أن TypeScript يعرف أن tags.length رقم، وأن lesson.title نص. لو حاولت الوصول إلى خاصية غير موجودة، سيخبرك.

المصفوفات للقراءة فقط — Readonly Arrays

إذا أردت منع التعديل على مصفوفة بعد إنشائها، استخدم readonly string[] أو ReadonlyArray<string>. كلاهما متكافئ والأول أكثر شيوعاً:

const tags: readonly string[] = ["types", "arrays"];
// tags.push("extra"); // خطأ — مصفوفة readonly لا تقبل push

readonly مفيد عند تمرير مصفوفة لدالة لا ينبغي لها تعديلها، أو عند تعريف ثوابت تمثل قوائم ثابتة في المجال.

متى تسمي النوع؟

إذا كان الشكل يظهر مرة واحدة في مثال صغير، النوع المباشر مقبول. إذا ظهر في أكثر من دالة أو ملف، سمّه. الأسماء الجيدة تجعل المجال واضحاً.

تحدي — Challenge