الدرس 6 من 8
تفكيك الكائنات والمصفوفات
- 13 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
خذ ما تحتاجه في سطر
الشرح
التفكيك يُخرج القيم من كائن أو مصفوفة إلى متغيّرات في سطر واحد: const { name, city } = user بدل سطرين يكرّران user.، وconst [first] = list يأخذ من المصفوفة بالموضع لا بالاسم.
ومعه أداتان: القيمة الافتراضية { city = 'غير محدّدة' } تُستعمل حين تكون الخاصية undefined لا null، وإعادة التسمية { posts: count } حين لا يناسبك اسمها. وأنفع مواضعه معاملات الدوال: تقرأ التوقيع فتعرف ما تحتاجه الدالة.
الفخّ: تفكيك كائن متداخل غائب يرمي خطأً. { stats: { posts } } على مستخدم بلا stats يعطي TypeError، والعلاج قيمة افتراضية للمستوى نفسه: { stats: { posts } = {} }.
المطلوب
أعد كتابة describe بتفكيك معاملها في التوقيع نفسه: city بقيمة افتراضية «غير محدّدة»، وposts من داخل stats باسم count وقيمة افتراضية 0 حتى لو غاب stats كلّه. والاسم الأول بتفكيك مصفوفة من name.split(' ').
معايير التصحيح
6 معايير- الحالة الكاملة: الاسم الأول والمدينة والعدد
- المدينة الغائبة تصير «غير محدّدة»
- غياب stats كلّه لا يرمي خطأً ويعطي 0
- غياب posts داخل stats يعطي 0
- المعامل مفكَّك في التوقيع نفسه
- الاسم الأول بتفكيك مصفوفة