Rest parameter (...) собирает все оставшиеся аргументы функции в настоящий JavaScript-массив. Это позволяет функциям принимать неограниченное количество аргументов чистым и понятным способом.
function sum(...numbers) {
return numbers.reduce((a, b) => a + b, 0);
}
sum(1, 2, 3); // 6
// ✅ Валидно
function example(first, second, ...rest) {}
// ❌ Невалидно — rest parameter должен быть последним
function example(...rest, last) {}
arguments| Особенность | Rest Parameter | arguments Object |
|---|---|---|
| Тип | Настоящий Array | Array-like Object |
| Методы массива | ✅ Доступны | ❌ Недоступны |
| Arrow functions | ✅ Работает | ❌ Недоступен |
| Собирает | Только оставшиеся аргументы | Все аргументы |
Предпочитай rest parameters вместо arguments в современном JavaScript, потому что:
map, filter и reducearguments не определёнСинтаксис rest параметра создает настоящий JavaScript массив, который может напрямую использовать методы как map(), filter() и reduce(), тогда как объект arguments похож на массив, но не имеет этих встроенных методов массива.
Новый — ещё не проверен сообществом
Вы