В этом видео обсудим объекты в JavaScript и разберёмся как их копировать. Разберём на практике поверхностное копирование (shallow copy) и глубое копирование (deep clone). Узнаем в чём разница и на что следует обращать внимание. Ну и конечно посмотрим на современный способ копирования объектов.
Содержание:
00:00 Введение
01:15 Про переменные в JS
03:35 Память и объекты
07:34 Сравниваем объекты
08:52 Виды копирования
09:26 Поверхностное копирование (shallow-copy)
10:37 Как сделать поверхностную копию объекта?
15:08 Копирование объекта с помощью Object.assign()
17:26 Глубокое копирование объекта
18:08 Сериализация и десериализация объекта
19:33 JSON.stringify и JSON.parse на практике
22:09 Проверяем результаты копирования с помощью сериализации/десериализации
24:14 А что с вложенным объектом?
24:34 Свойство undefined пропало
25:55 Итоги по stringify / parse
26:49 lodash
28:00 cloneDeep на практике
32:05 Итоги cloneDeep
33:45 structuredClone()
36:11 structuredClone на практике
38:08 Итоги. Когда и что использовать
Полезные ссылки:
* Мой блог в Telegram: https://t.me/antonovjs
* Оператор spread: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Spread_syntax
* Метод Object.assign: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
* Библиотека Lodash: https://lodash.com
* Метод structuredClone: https://developer.mozilla.org/en-US/docs/Web/API/structuredClone