Копирование на входе и выходе защищает внутреннее состояние от изменения через чужие ссылки.
От чего защищает многократное копирование данных на бэкенде, включая границы push и getHistory?
Копирование на входе и выходе защищает внутреннее состояние от изменения через чужие ссылки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Копирование на входе и выходе защищает внутреннее состояние от изменения через чужие ссылки.
Копия при push отделяет хранилище от переданного объекта, копия при getHistory — от внешнего потребителя. Для вложенных объектов поверхностного копирования недостаточно. Это не защита от гонок или неавторизованного доступа, а контроль владения данными; лишние копии имеют цену.