Object.assign metode

Metode Object.assign kopē avota objekta īpašības un vērtības, atgriežot tajā pašā laikā jaunu objektu. Metodes pirmajā parametrā mēs norādām mērķa objektu, kurā kopējam, un otrajā - norādām objektus, kurus nepieciešams nokopēt.

Sintakse

javascriptObject.assign(kur kopēt, objekti);

Piemērs

Iegūsim jaunu objektu no avota:

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

Koda izpildes rezultāts:

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

Piemērs

Tagad iegūsim jaunu objektu no vairākiem avota objektiem, uzskaitot tos parametrā atdalot ar komatu:

javascriptlet obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};

let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);

Pēc koda izpildes mēs redzēsim, ka divi avota objekti ir saplūduši vienā jaunā objektā:

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

Piemērs

Arī metodi Object.assign var izmantot, lai iegūtu jaunu masīvu, tā kā masīvs pēc sava tipa arī pieder pie objektiem. Izveidosim jaunu masīvu, nokopējot elementus no avota:

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

console.log(newArr);

Koda izpildes rezultāts:

javascript[1, 2, 3, 4]

Piemērs

Izmantojot metodi Object.assign ir rūpīgi jāievēro sintakse. Piemēram, ja nepievieno pirmajā parametrā mērķa objektu, bet atstāj tikai kopējamo objektu, tad tas tiks atgriezts atpakaļ:

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

console.log(newObj === obj);

Koda izpildes rezultāts:

javascripttrue

Skatiet arī

  • metodi Object.keys,
    kas atgriež masīvu no objekta īpašībām
  • metodi Object.values,
    kas atgriež masīvu no objekta vērtībām