Встречается на собеседованиях • сегодня

Остается ли у вложенных объектов доступ по ссылке при копировании через spread оператор и Object.assign

При поверхностном копировании через spread или Object.assign вложенные объекты копируются по ссылке. Изменения в них будут видны в обоих объектах.

Пример:

javascript
const obj = { a: 1, nested: { b: 2 } };
const copy = { ...obj };

copy.nested.b = 3;
console.log(obj.nested.b); // 3 - изменилось в исходном объекте

Для глубокого копирования используйте:

  • JSON.parse(JSON.stringify(obj)) (но теряет функции и undefined)
  • Рекурсивное копирование
  • Библиотеки типа Lodash (_.cloneDeep)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы