В JavaScript ES6 (ECMA2015) для копирования объекта используется метод Object.assign(). Это стандартный метод, который используется для копирования значений всех собственных перечисляемых свойств из одного или нескольких исходных объектов в целевой объект.
Главный синтаксис метода Object.assign() выглядит следующим образом:
Object.assign(target, ...sources)
где target - целевой объект, в который будут скопированы свойства, а sources - один или несколько исходных объектов, свойства которых будут скопированы.
let obj1 = { a: 1, b: 2 };
let obj2 = { b: 3, c: 4 };
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // { a: 1, b: 3, c: 4 }
В этом примере свойства объектов obj1
и obj2
копируются в новый объект obj3
с использованием метода Object.assign()
. Помните, что если у исходных объектов есть свойства с одним и тем же именем, значение свойства будет взято из последнего исходного объекта.
При использовании Object.assign()
важно помнить, что он не копирует (или вовсе не обрабатывает) ненаблюдаемые свойства. Object.assign()
копирует значения свойства из исходного объекта в целевой объект для всех перечислимых и собственных свойств.
В случае, если вы хотите копировать также и неперечислимые свойства, вам следует использовать альтернативные методы, такие как например Reflect.ownKeys()
.
Таким образом, Object.assign()
в ES6 является инструментом для копирования всех перечислимых и собственных свойств из одного или нескольких исходных объектов в целевой объект.