Spread оператор в JavaScript
Spread operator, который выглядит следующим образом (...)
— это инструмент в JavaScript, который позволяет “разворачивать” элементы массивов или свойства объектов.
Spread operator обозначается тремя точками (...)
. Его основная задача — “развернуть” элементы массива или свойства объекта, чтобы их можно было использовать в других контекстах. Например, он позволяет легко копировать массивы, объединять объекты, передавать элементы массива в функцию и многое другое.
Spread Operator очень часто используется с массивами. Разберем пример с клонированием массива. Эта возможность очень полезна когда нужно избежать изминений исходного массива
const arr = [1, 2, 3];
const arr2 = [...arr];
console.log(arr2); // [1, 2, 3]
Так же можно объеденять два массива в один
const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4]
Можно добавить данные в уже существующий массив
const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4];
console.log(arr2); // [1, 2, 3, 4]
Не менее часто spread оператор используется при работе с объектами. Разберем немного простых примеров.
Как и при работе с массивами, объекты можно клонировать с помощью spread орератора.
const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1 };
console.log(obj2); // { a: 1, b: 2 }
Так же мы можем объеденить несколько объектов в один
const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObject = { ...obj1, ...obj2 };
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
Spread оператор позволяет добавить свойства в уже существующий объект
const obj1 = { a: 1, b: 2 };
const newObject = { ...obj1, c: 3 };
console.log(newObject); // { a: 1, b: 2, c: 3 }
Можно использовать при работе со строками, небольшой пример
const str = "Elle";
const chars = [...str];
console.log(chars); // ['E', 'l', 'l', 'e']
Важно запомнить что spread оператор работает только со строками, объектами и массивами. Если попытаться использовать его при работе с числами, это вызовет ошибку.