PassFront
  1. PassFront
  2. База знаний
  3. Современный JS ES6+

Где используют spread оператор в JavaScript?

Современный JS ES6+

Spread-оператор (`...`) используют для копирования и объединения массивов/объектов, передачи массива как аргументов и разворачивания итерируемых.

Где применяют

Копирование и объединение массивов

const copy = [...arr];
const merged = [...arr1, ...arr2];
const withNew = [...arr, newItem];

Копирование и слияние объектов

const clone = { ...obj };
const extended = { ...obj, newProp: 1 };
const patched = { ...obj, name: 'Bob' }; // перезапись

Передача массива как аргументов

Math.max(...numbers);
fn(...args);

Разворачивание итерируемых

const chars = [...'hello'];       // ['h','e','l','l','o']
const arr = [...new Set([1,1,2])]; // дедупликация → [1, 2]
const nodes = [...document.querySelectorAll('div')]; // NodeList → массив

В React

<Component {...props} />        // передать все props
setState({ ...state, x: 1 })   // иммутабельное обновление

Нюансы

Копия поверхностная — вложенные объекты остаются общими ссылками.

Коротко для собеседования

Spread ... используют для: копирования/объединения массивов ([...arr]) и объектов ({...obj}), передачи массива как аргументов (Math.max(...nums)), разворачивания итерируемых (строка, Set для дедупликации, NodeList), передачи props в React и иммутабельных обновлений. Копия поверхностная.

Другие вопросы раздела