Встречается на собеседованиях • сегодня
Как избежать потери данных при использовании Spread оператора с разными объектами
Spread оператор (...) создаёт поверхностную копию объекта. Потеря данных может произойти при слиянии объектов с одинаковыми ключами – значения из последнего объекта перезапишут предыдущие. Также вложенные объекты копируются по ссылке.
Как избежать:
- Для простых объектов – явно указывайте приоритет свойств:
javascript
const merged = { ...defaults, ...userData }; // userData перезапишет defaults- Для глубокого копирования используйте:
JSON.parse(JSON.stringify(obj))(но теряет функции и undefined)- Библиотеки типа Lodash (
_.merge()или_.cloneDeep())
- Для вложенных структур – мерджите вручную:
javascript
const merged = {
...obj1,
nested: { ...obj1.nested, ...obj2.nested }
};Особенно осторожно с массивами – spread создаёт новый массив, но элементы остаются ссылками.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы