Metoden Object.assign
Metoden Object.assign kopierer egenskaber og værdier fra kildeobjektet,
og returnerer et nyt objekt. I den første parameter for metoden
angiver vi målobjektet, som vi kopierer til,
og i den anden - angiver vi de objekter, der skal kopieres.
Syntaks
Object.assign(hvor man kopierer til, objekter);
Eksempel
Lad os få et nyt objekt fra kilden:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Resultat af udførelse af kode:
{a: 1, b: 2, c: 3}
Eksempel
Og nu lad os få et nyt objekt fra flere kilder, ved at liste dem i parameteren adskilt af komma:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Efter udførelse af koden vil vi se, at de to kildeobjekter er fusioneret til et nyt objekt:
{a: 1, b: 2, c: 3, d: 4}
Eksempel
Metoden Object.assign
kan også anvendes til at få et nyt array,
da en array efter sin type også tilhører objekter.
Lad os lave et nyt array ved at kopiere elementer fra
kilden:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Resultat af udførelse af kode:
[1, 2, 3, 4]
Eksempel
Ved brug af metoden Object.assign
skal man omhyggeligt overholde syntaksen.
For eksempel, hvis man ikke tilføjer
målobjektet i den første parameter, men kun lader
det kopierede objekt stå, så vil det blive returneret tilbage:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Resultat af udførelse af kode:
true
Se også
-
metoden
Object.keys,
som returnerer en array af objektets egenskaber -
metoden
Object.values,
som returnerer en array af objektets værdier