Как известно в JavaScript, объекты копируются по ссылке.
Но иногда нужно сделать глубокое клонирование объекта.
Многие js-библиотеки предлагают для этого случая собственную реализацию функции deepClone. Но, к сожалению, большинство библиотек не учитывают несколько важных вещей:
- Объект может содержать массивы, и лучше копировать их как массивы.
- Объект может иметь поля с символом в качестве ключа.
- Поля объекта имеют дескрипторы, отличные от значений по умолчанию.
- Поля объекта могут содержать функции и их тоже необходимо клонировать.
- У объекта наконец-то появился прототип, отличный от Object.prototype.
Теги: #JavaScript #Функциональное программирование #deepClonefunction deepClone(source) {
Вместе с данным постом часто просматривают:
-
Крузен, Пол
19 Oct, 24 -
Самые Странные Гаджеты Ces 2018
19 Oct, 24 -
Бесплатные Ручки Из Opera
19 Oct, 24 -
Как Писать Отличные Запросы На Включение
19 Oct, 24