شرح صفوف ومحتوى الفقرة
عند تعريف دالة تقبل عدداً مرناً من الوسائط—مثل function sumScores(studentName, ...scores)—يجمع معامل التجميع ...scores كل الوسائط الإضافية داخل مصفوفة Array حقيقية كاملة المزايا (تغنيك عن الكائن القديم arguments وتعمل كذلك داخل الدوال السهمية!).
قاعدة نحوية حاسمة: يجب أن يقع عنصر التجميع ...rest في آخر موضع دائماً سواء في معاملات الدالة أو في التفكيك؛ ووضع أي معامل بعده يسبب خطأ صياغة SyntaxError فوري.
JavaScript
const calcInvoice = (unit, ...amounts) => {
let total = 0;
for (const n of amounts) total += n;
return total + ' ' + unit + ' (' + amounts.length + ' items)';
};
document.getElementById('rest-out').textContent =
calcInvoice('SAR', 120, 45, 35);