Spread оператор (...) в JS разворачивает (или копирует) значения из переменной.

Использование спред оператора в массивах

Самый простой пример, если вам необходимо скопировать один массив в другой:

const arr = ['Apple', 'Orange'];

const newArr = ['Kiwi', ...arr];

console.log(arr); // ['Apple', 'Orange']
console.log(newArr); // ['Kiwi', 'Apple', 'Orange']

Таким образом мы легко скопировали данные из одного массива в другой. Если использовать спред в начале массива, то и значения добавятся в начало массива. Также можно развернуть сразу несколько массивов:

const arr_1 = ['Apple'];
const arr_2 = ['Peach'];
const arr_3 = ['Lime'];

const newArr = [...arr_1, 'Kiwi', ...arr_2, 'Lemon', ...arr_3];

console.log(newArr); // ['Apple', 'Kiwi', 'Peach', 'Lemon', 'Lime']

Использование spread в объектах

Данный оператор полезен, если вам нужно получить копию объекта или добавить к нему другие свойства, но при этом не изменять исходный:

const user = { firstName: 'John', lasName: 'Doe' }

const clonedUser = { ...user, position: 'CEO' }

console.log(user); 
// {firstName: 'John', lasName: 'Doe'}

console.log(clonedUser); 
// {firstName: 'John', lasName: 'Doe', position: 'CEO'}

Этот оператор часто используется на практике. В моем блоге вы можете посмотреть практический проект по Redux, там в редюсерах используется оператор расширения (spread)

Ваши вопросы и комментарии: