Глубокая копия объекта в JavaScript с использованием StructuredClone
Feb 21 2023
Если вы здесь, держу пари, вы использовали JSON.parse() + JSON.
Если вы здесь, держу пари, что вы использовали JSON.parse()+ JSON.stringify()трюк сотни раз, чтобы создать глубокую копию объекта в JavaScript. Вам это больше не нужно, натив structuredClone()здесь, чтобы помочь вам.
Поверхностное копирование против глубокого копирования
Прежде всего, давайте вспомним, в чем разница между поверхностной копией и глубокой копией:
- Поверхностная копия: означает, что копируется только первый уровень объекта . Ссылаются на более глубокие уровни. Вы можете добиться этого в JavaScript, используя оператор Spread(
…) или используяObject.assign(). - Глубокое копирование: означает, что копируются все уровни объекта . Это точная копия объекта. Вы можете сделать это с помощью
JSON.parse()+JSON.stringify(), а теперь вы также можете сделать это с помощью родногоstructuredClone().
Глубокое копирование с использованием StructuredClone
Глобальный structuredClone()метод создает глубокую копию заданного значения, используя алгоритм структурированного клонирования .
Как вы можете видеть в этом фрагменте кода:
- После обновления свойства на первом уровне клонированных объектов исходное свойство не обновляется .
- После обновления свойства на более глубоком уровне исходное свойство не обновляется . Это происходит потому, что в этом случае копируются и более глубокие уровни.
Удачного кодирования!

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































