Spread позволяет передавать итерируемые коллекции (например, массивы или строки) как список аргументов функции или добавлять содержащиеся в них элементы в новый массив.
Спред применятся и для объектов, чтобы копировать пары ключ-значение из одного объекта в другой.
Пример:
При вызове функции использовать значения из массива как аргументы:
function multiplyThreeNumbers(a, b, c) {
return a * b * c
}
const nums = [1, 2, 3]
console.log(multiplyThreeNumbers(...nums))
// 6
В массиве скопировать элементы из другого массива в новый:
const donor = ['это', 'старые', 'значения']
const newArray = [...donor, 1, true, 'мама']
console.log(newArray)
// ['это', 'старые', 'значения', 1, true, 'мама']
У объекта скопировать свойства из другого объекта в новый:
const persona = { name: 'Иван', lastName: 'Объектов'}
const userData = { ...persona, username: 'killer3000' }
console.log(userData)
// {
// name: "Иван",
// lastName: "Объектов",
// username: "killer3000"
// }