Metóda Object.assign
Metóda Object.assign kopíruje vlastnosti a hodnoty zdrojového objektu,
pričom vracia nový objekt. V prvom parametri metódy
nastavujeme cieľový objekt, do ktorého kopírujeme,
a v druhom - určujeme objekty, ktoré je potrebné skopírovať.
Syntax
Object.assign(kam kopírovať, objekty);
Príklad
Vytvorme nový objekt zo zdrojového:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Výsledok vykonania kódu:
{a: 1, b: 2, c: 3}
Príklad
A teraz vytvorme nový objekt z viacerých zdrojových, pričom ich vypíšeme v parametri oddelené čiarkou:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Po vykonaní kódu uvidíme, že dva zdrojové objekty sa zliali do jedného nového objektu:
{a: 1, b: 2, c: 3, d: 4}
Príklad
Metódu Object.assign
je možné použiť aj na získanie nového poľa,
keďže pole svojím typom tiež patrí medzi objekty.
Vytvorme nové pole skopírovaním prvkov zo
zdrojového:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Výsledok vykonania kódu:
[1, 2, 3, 4]
Príklad
Pri používaní metódy Object.assign
je potrebné dôsledne dodržiavať syntax.
Napríklad, ak sa nepridá
v prvom parametri cieľový objekt, ale nechá sa
len kopírovaný objekt, tak ten sa aj vráti späť:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Výsledok vykonania kódu:
true
Pozri tiež
-
metóda
Object.keys,
ktorá vracia pole vlastností objektu -
metóda
Object.values,
ktorá vracia pole hodnôt objektu