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

В чем разница между глубоким и неглубоким копированием в JavaScript

Глубокое копирование создает полностью независимую копию объекта, включая все вложенные объекты. Неглубокое копирование копирует только первый уровень, вложенные объекты остаются ссылками.

Пример неглубокого копирования:

javascript
const obj = { a: 1, b: { c: 2 } };
const shallowCopy = { ...obj }; // или Object.assign({}, obj)

shallowCopy.b.c = 3;
console.log(obj.b.c); // 3 - оригинал тоже изменился

text

Пример глубокого копирования:
```javascript
const deepCopy = JSON.parse(JSON.stringify(obj));
deepCopy.b.c = 4;
console.log(obj.b.c); // 3 - оригинал не изменился

Методы глубокого копирования:

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

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

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

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