Metoda Object.assign
Metoda Object.assign kopira lastnosti in vrednosti izvornega objekta,
pri tem pa vrne nov objekt. V prvem parametru metode
nastavimo ciljni objekt, v katerega kopiramo,
v drugem pa navedemo objekte, ki jih je treba kopirati.
Sintaksa
Object.assign(kam kopirati, objekti);
Primer
Pridobimo nov objekt iz izvornega:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Rezultat izvajanja kode:
{a: 1, b: 2, c: 3}
Primer
Zdaj pa pridobimo nov objekt iz več izvornih, tako da jih naštejemo v parametru z vejico:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Po izvedbi kode bomo videli, da sta se dva izvorna objekta združila v en nov objekt:
{a: 1, b: 2, c: 3, d: 4}
Primer
Prav tako lahko metodo Object.assign
uporabimo za pridobitev novega polja,
saj je polje po svojem tipu prav tako objekt.
Naredimo novo polje s kopiranjem elementov iz
izvornega:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Rezultat izvajanja kode:
[1, 2, 3, 4]
Primer
Pri uporabi metode Object.assign
moramo pazljivo upoštevati sintakso.
Na primer, če v prvem parametru ne dodamo
ciljnega objekta, ampak pustimo
samo objekt, ki ga kopiramo, bo ta tudi vrnjen:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Rezultat izvajanja kode:
true
Glejte tudi
-
metodo
Object.keys,
ki vrne polje lastnosti objekta -
metodo
Object.values,
ki vrne polje vrednosti objekta