Копирование объектов в JavaScript
В JavaScript есть несколько способов копировать объекты. Важно отметить, что при копировании объектов мы обычно хотим создать новый объект с теми же свойствами и значениями, что и в исходном объекте.
Метод Object.assign()
let obj1 = {a: 1, b: 2};
let obj2 = Object.assign({}, obj1);
Теперь obj2 - это копия obj1. Этот метод не копирует вложенные объекты.
Оператор Spread
let obj1 = {a: 1, b: 2};
let obj2 = {...obj1};
Оператор spread, как и Object.assign(), создаёт поверхностную копию объекта.
Метод JSON.parse и JSON.stringify
let obj1 = {a: 1, b: 2};
let obj2 = JSON.parse(JSON.stringify(obj1));
Метод JSON.parse и JSON.stringify позволяют создать глубокую копию объекта, включая вложенные объекты. Но этот метод не сможет корректно скопировать значения, которые не могут быть преобразованы в строку JSON, такие как функции или символы.
Комментарии
Отправить комментарий