Meetod Object.assign
Meetod Object.assign kopeerib lähteobjekti omadused ja väärtused,
tagastades selle käigus uue objekti. Meetodi esimeses parameetris
määrame kindlaks sihtobjekti, millesse kopeerime,
ja teises parameetris määrame objektid, mida tuleb kopeerida.
Süntaks
Object.assign(kuhu kopeerida, objektid);
Näide
Loome lähteobjekti põhjal uue objekti:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Koodi täitmise tulemus:
{a: 1, b: 2, c: 3}
Näide
Loome nüüd uue objekti mitmest lähteobjektist, loetledes need parameetris komadega eraldatuna:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Pärast koodi täitmist näeme, et kaks lähteobjekti liitusid üheks uuks objektiks:
{a: 1, b: 2, c: 3, d: 4}
Näide
Samuti saab meetodit Object.assign
kasutada uue massiivi saamiseks,
kuna massiiv kuulub oma tüübi poolest samuti objektide hulka.
Loome uue massiivi, kopeerides elemendid
lähteobjektist:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Koodi täitmise tulemus:
[1, 2, 3, 4]
Näide
Meetodi Object.assign kasutamisel
tuleb süntaksit tähelepanelikult järgida.
Näiteks kui esimesse parameetrisse ei lisa
sihtobjekti, vaid jätad ainult
kopeeritava objekti, siis tagastatakse see tagasi:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Koodi täitmise tulemus:
true
Vaata ka
-
meetod
Object.keys,
mis tagastab massiivi objekti omadustest -
meetod
Object.values,
mis tagastab massiivi objekti väärtustest