الدرس 7 من 8

النشر ومعامل البقية

هدف الدرس

ثلاث نقاط في اتجاهين

01

الشرح

النقاط الثلاث ... تعمل في اتجاهين. النشر يفرد محتوى مصفوفة أو كائن في مكانه: [...list, item] مصفوفة جديدة بعنصر زائد، و{ ...defaults, ...options } كائن جديد يجمع الاثنين، والأصل لا يُمسّ في الحالتين.

والبقية تجمع ما تبقّى في مصفوفة: function append(list, ...items) تقبل أي عدد من الوسائط بعد الأول، فيصل items مصفوفة حقيقية. ولا تكون البقية إلا آخر المعاملات.

وفي الدمج الأخير يغلب: ضع الافتراضي أولًا وما يمرّره المستدعي بعده. والفخّ أن النسخ سطحي: الكائن المتداخل لا يُنسخ بل يُشارَك مرجعه، فتعديله في النسخة يعدّله في الأصل.

02

المطلوب

اكتب settings(overrides) تُرجع كائنًا جديدًا يدمج defaults مع overrides بلا تعديل defaults، وappend(list, ...items) تُرجع مصفوفة جديدة فيها عناصر list ثم كل ما مُرِّر بعدها.

معايير التصحيح

6 معايير
  1. الدمج يأخذ الافتراضي، والممرَّر يغلبه
  2. الدمج كائن جديد لا يمسّ defaults
  3. الإضافة تقبل أي عدد من العناصر
  4. الإضافة لا تعدّل المصفوفة الأصلية
  5. العناصر تُستقبَل بمعامل بقية
  6. الصفحة تعرض أربع مهام والأصل ما زال اثنتين
index.html
المعاينة
index.html100%
–/6

اضغط «تشغيل» ليبدأ الفحص.

6 معايير في بطاقة «المطلوب».