ES6 - Spread / Rest оператор



Данный оператор "разбивает" ("spread") объект на индивидуальные элементы. Или "объединяет" ("rest"), в зависимости от варианта использования.



Примеры использования:



function foo(x, y, z) {

console.log(x, y, z);

}



let arr = [1, 2, 3];



foo(...arr); // 1 2 3



Клонирование свойств массивов:

 = ['will', 'love'];

var data = ['You', ...arr, 'spread', 'operator'];



console.log(data); // ['You', 'will', 'love', 'spread', 'operator']



Преобразование коллекции DOM элементов:

 = [...document.querySelectorAll('a')];

// Или просто

var links = [...document.links];



Array.isArray(links); // true



Объединение набора значений в массив:

function foo(...args) {

console.log(args);

}



foo(1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]