Чем отличается поверхностное копирование от глубокого copy.copy() создаёт отдельный объект верхнего уровня, но сохраняет ссылки на его вложенные объекты copy.deepcopy() рекурсивно копирует вложенные объекты, формируя…
структуры данных JavaScript, предназначенные для хранения коллекций Объект: набор пар «ключ-значение» без фиксированного порядка; ключами служат строки или символы Массив: упорядоченная последовательность элементов с…
Назначение конструктора объектов и правила его использования создание и начальная настройка экземпляров класса или объекта задание шаблона для единообразной структуры данных автоматический запуск во время создания…
Примитивные значения хранятся по значению: string, number, boolean, null, undefined, symbol и bigint При присваивании или передаче примитива копируется его значение Объекты (Array, Function, Object) хранятся по ссылке…
создание копии объекта с рекурсивным клонированием всех вложенных объектов простое присваивание и Object.assign не подходят, поскольку они копируют только верхний уровень JSON.parse(JSON.stringify(obj)) — быстрый…
Основные способы копирования объектов Поверхностное копирование (shallow copy) — создаёт копию только верхнего уровня, поэтому вложенные объекты продолжают ссылаться на исходные Глубокое копирование (deep copy) —…
Сколько памяти нужно массиву из 5 ссылок на объекты классов? память распределяется между ссылками и объектами в куче размер одной ссылки определяется платформой: обычно 4 байта (32-бит) или 8 байт (64-бит) в массиве…