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
Object.assign(kur kopēt, objekti);
Piemērs
Iegūsim jaunu objektu no avota:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Koda izpildes rezultāts:
{a: 1, b: 2, c: 3}
Piemērs
Tagad iegūsim jaunu objektu no vairākiem avota objektiem, uzskaitot tos parametrā atdalot ar komatu:
let 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ā:
{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:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Koda izpildes rezultāts:
[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ļ:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Koda izpildes rezultāts:
true
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