arguments مثل یه آرایه عمل میکنه که همه آرگومانهای پاس داده شده به تابع رو توی خودش ذخیره میکنه. با استفاده از این متغیر میتونی به راحتی به همه آرگومانها دسترسی داشته باشی، حتی اگه ندونی چندتا آرگومان به تابع پاس داده شده.
فرض کن یه تابع داری که نمیدونی چندتا آرگومان بهش پاس داده میشه. با استفاده از arguments میتونی همشون رو بگیری و روشون کار کنی:
function sum() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3)); // 6
console.log(sum(5, 10, 15, 20)); // 50
توی این مثال، تابع sum میتونه هر تعداد آرگومان بگیره و با استفاده از arguments همه رو جمع کنه.
توی ES6، اگه بخوای راحتتر با آرگومانها کار کنی، میتونی از پارامترهای rest استفاده کنی که خیلی خواناتر هست: