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

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

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

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

javascript
const obj = { a: 1, b: { c: 2 } };
const shallowCopy = { ...obj };
shallowCopy.b.c = 3; // Изменяется и в оригинале
console.log(obj.b.c); // 3

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

javascript
const obj = { a: 1, b: { c: 2 } };
const deepCopy = JSON.parse(JSON.stringify(obj));
deepCopy.b.c = 3; // Оригинал не изменяется
console.log(obj.b.c); // 2

Глубокое копирование может быть медленнее и не работать с функциями, Symbol или undefined. Для сложных случаев лучше использовать библиотеки типа Lodash (_.cloneDeep).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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