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

javascriptObject.assign(kuhu kopeerida, objektid);

Näide

Loome lähteobjekti põhjal uue objekti:

javascriptlet obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);

Koodi täitmise tulemus:

javascript{a: 1, b: 2, c: 3}

Näide

Loome nüüd uue objekti mitmest lähteobjektist, loetledes need parameetris komadega eraldatuna:

javascriptlet 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:

javascript{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:

javascriptlet arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);

console.log(newArr);

Koodi täitmise tulemus:

javascript[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:

javascriptlet obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);

console.log(newObj === obj);

Koodi täitmise tulemus:

javascripttrue

Vaata ka

  • meetod Object.keys,
    mis tagastab massiivi objekti omadustest
  • meetod Object.values,
    mis tagastab massiivi objekti väärtustest