Что такое оператор spread?
Оператор spread (...) — это синтаксис JavaScript, который раскрывает итерируемое значение (например, массив или объект) в его отдельные элементы.
Основные случаи использования
- Копирование массива — создаёт поверхностную копию, чтобы не мутировать исходный:
const copy = [...originalArray];
- Объединение массивов — комбинирует несколько массивов в один:
const merged = [...arrayA, ...arrayB];
- Копирование объекта — дублирует свойства объекта:
const clone = { ...originalObject };
- Объединение объектов — комбинирует свойства из нескольких объектов (учти: более поздние свойства перезаписывают ранние, если ключи конфликтуют):
const merged = { ...objectA, ...objectB };
- Передача элементов массива как аргументов функции — раскрывает значения массива прямо в вызов функции:
const nums = [1, 5, 3];
Math.max(...nums); // эквивалентно Math.max(1, 5, 3)
Ключевые моменты
- Оператор spread создаёт поверхностные копии, то есть вложенные объекты или массивы всё ещё ссылаются на исходные данные
- При объединении объектов порядок свойств имеет значение — дублирующиеся ключи из более поздних объектов перезапишут более ранние
- Он работает с любым итерируемым значением, включая массивы, строки и объекты
Set