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

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

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

Пример:

javascript
const obj = { a: 1, b: { c: 2 } };

// Неглубокое копирование
const shallowCopy = { ...obj };
shallowCopy.b.c = 3; // Изменяется и оригинал
console.log(obj.b.c); // 3

// Глубокое копирование
const deepCopy = JSON.parse(JSON.stringify(obj));
deepCopy.b.c = 4; // Оригинал не меняется
console.log(obj.b.c); // 3

text

Методы неглубокого копирования: `Object.assign()`, spread оператор `{...obj}`.  
Методы глубокого копирования: `JSON.parse(JSON.stringify())` (имеет ограничения), `structuredClone()` (современный способ), библиотеки типа Lodash.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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