Rest parameters
Собирает оставшиеся аргументы функции в массив.
Доступно с: ES2015
Синтаксис
function name(...args) { … }Примеры
Любое количество аргументов:
const sum = (...numbers) => numbers.reduce((total, n) => total + n, 0);
console.log(sum(1, 2, 3));
console.log(sum());Результат:
6
0Первый аргумент отдельно, остальные — в массив:
function tag(label, ...items) {
return `${label}: ${items.join(', ')}`;
}
console.log(tag('Fruits', 'apple', 'pear'));Результат:
Fruits: apple, pearПримечания
Rest-параметр может быть только последним. Это настоящий массив, в отличие от старого псевдомассива arguments.
См. также
- Spread syntax — Три точки раскрывают массив или объект на отдельные элементы.
- Destructuring assignment — Достаёт значения из массива или объекта в отдельные переменные.
- Default parameters — Значение параметра, если аргумент не передан.
В учебнике
- Параметры — Параметры и аргументы функций в JavaScript — несколько параметров, порядок, недостающие аргументы и значения по умолчанию.