Синтаксис распространения (… три точки)
Синтаксис spread позволяет нам расширять массивы или строки, где для вызовов функций, литералов массива или литералов объектов требуются нулевые или другие аргументы.
Давайте посмотрим на практике
Объединение массивов
const fruits = ['apples', 'apricots', 'pears']; const veg = ['broccoli','corn','cucumber']; const vegplusfruits = [...fruits,...veg]; console.log(vegplusfruits) //вывод // ['apples', 'apricots', 'pears','broccoli','corn','cucumber']
Вызов функций
function sum (a,b,c,d,e,f,g,h){ return a+b+c+d+e+f+g+h; } var numbers = [1,2,3,4,5,6,7,8]; console.log(sum(...numbers)); //вывод -> 36
Копирование объектов
const user1 = { id: 1, name: "andreyex", } const copyUser1 = { ...user1 } console.log(copyUser1) /* вывод { id: 1, name: "andreyex" } */
Строки
Мы также можем разбить строки с помощью оператора spread.
let name = "JavaScript" console.log([...name]); //Вывод ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]