الدرس 7 من 8

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

هدف الدرس

استعمالان للنقاط الثلاث

01

الشرح

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

والثاني معامل البقية (rest)، وهو يجمع ما تبقّى في مصفوفة، فالدالة function append(list, ...items) تقبل أي عدد من القيم بعد القيمة الأولى، وتصل هذه القيم كلها داخل المصفوفة items، ولا يأتي معامل البقية إلا في آخر المُعامِلات.

وعند دمج كائنين تغلب قيمة الأخير إذا تكرّر المفتاح، فضع القيم الافتراضية أولًا ثم ما يمرّره من يستدعي الدالة. وانتبه إلى أن هذا النسخ سطحي، فالكائن الموجود داخل كائن آخر لا يُنسخ، بل تشترك فيه النسخة والأصل، فإذا عدّلته في النسخة تغيّر في الأصل أيضًا.

02

المطلوب

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

الفحوص

6 فحوص
  1. الدمج يأخذ القيم الافتراضية وتغلبها القيم الجديدة
  2. الدمج يُرجع كائنًا جديدًا ولا يغيّر defaults
  3. الإضافة تقبل أي عدد من العناصر
  4. الإضافة لا تعدّل المصفوفة الأصلية
  5. الدالة append تستقبل العناصر بمعامل البقية
  6. الصفحة تعرض أربع مهام والمصفوفة الأصلية فيها مهمّتان
03

تلميحات

0/3
index.html
المعاينة
index.html100%
–/6

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

تجد 6 فحوص في بطاقة «المطلوب».