Metod Object.assign
Metod Object.assign kopira svojstva i vrednosti izvornog objekta,
vraćajući pritom novi objekat. U prvom parametru metoda
mi zadajemo ciljni objekat, u koji kopiramo,
a u drugom - navodimo objekte koje treba kopirati.
Sintaksa
Object.assign(gde kopirati, objekti);
Primer
Hajde da dobijemo novi objekat iz izvornog:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Rezultat izvršavanja koda:
{a: 1, b: 2, c: 3}
Primer
A sada da dobijemo novi objekat iz nekoliko izvornih, navodeći ih u parametru preko zapete:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Nakon izvršavanja koda videćemo, da su se dva izvorna objekta spojila u jedan novi objekat:
{a: 1, b: 2, c: 3, d: 4}
Primer
Takođe, metod Object.assign
može se primeniti za dobijanje novog niza,
pošto se niz po svom tipu takođe odnosi na objekte.
Hajde da napravimo novi niz, kopirajući elemente iz
izvornog:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Rezultat izvršavanja koda:
[1, 2, 3, 4]
Primer
Prilikom korišćenja metoda Object.assign
potrebno je pažljivo se držati sintakse.
Na primer, ako se ne doda
u prvi parametar ciljni objekat, već ostavi
samo objekat koji se kopira, onda će se on i vratiti nazad:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Rezultat izvršavanja koda:
true
Vidite takođe
-
metod
Object.keys,
koji vraća niz svojstava objekta -
metod
Object.values,
koji vraća niz vrednosti objekta