Чем отличается deep copy от shallow copy?

Middle
335 просмотров
AFK Offer AI

Shallow copy копирует только первый уровень — вложенные объекты остаются ссылками на оригинал. Spread оператор и Object.assign делают shallow copy. Deep copy рекурсивно копирует все уровни вложенности, создавая полностью независимую копию. Раньше для deep copy использовали JSON.parse(JSON.stringify()), но это не работает с функциями, Date, undefined. Сейчас есть structuredClone — нативный метод для глубокого клонирования.

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

Controlled vs uncontrolled компоненты — в чём разница?