Поверхностная копия создаёт новый внешний контейнер, но вложенные объекты остаются общими; глубокая копия копирует поддерживаемый граф вложенных данных.
[имя] чем отличается поверхностное копирование от глубокого?
Поверхностная копия создаёт новый внешний контейнер, но вложенные объекты остаются общими; глубокая копия копирует поддерживаемый граф вложенных данных.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Поверхностная копия создаёт новый внешний контейнер, но вложенные объекты остаются общими; глубокая копия копирует поддерживаемый граф вложенных данных.
Например, spread объекта не отделяет его вложенный массив. Для глубокого копирования нужно определить правила для циклов, общих ссылок и специальных типов. Копирование не всегда лучше: неизменяемые обновления могут сохранять общие неизменившиеся части.