assign() - Копіює значення з одного або декількох вихідних об'єктів в цільовий об'єкт.
Object.assign(target, ...sources );
target - Об'єкт, в який копіюються перераховані властивості. ...
Sources - Один або кілька об'єктів, з яких копіюються перераховані обєкти властивості.
Ця функція видає TypeError, якщо виникає помилка призначення, яка завершує операцію копіювання. TypeError видається, якщо цільова властивість недоступно для запису.
Цей метод повертає цільовий об'єкт.Із вихідного об'єкта в цільовий копіюються тільки перелічувані властивості.Цей метод можна використовувати для об'єднання і клонування об'єктів. Джерела null або undefined обробляються як порожні об'єкти і нічого не додають цільового об'єкту.
Цей метод підтримують не усі бравзери.
Обєднання обєктів:
var first = { name: "Bob" };
var last = { lastName: "Smith" };
var person = Object.assign(first, last);
alert(person);
// { name: "Bob", lastName: "Smith" }
Клонування:
var obj = { person: "Bob Smith" };
var clone = Object.assign({}, obj);