Ответ
Массив arguments
— это объект, доступный внутри функций, содержащий все переданные аргументы, даже если они не объявлены в параметрах. Это псевдомассив (имеет индексы и length
, но не методы массива).
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
Особенности:
- Не работает в стрелочных функциях.
- Устаревший подход, лучше использовать rest-оператор (
...args
). - Не поддерживает методы массивов (например,
forEach
), но можно конвертировать в массив черезArray.from(arguments)
.