Metoden Object.assign
Metoden Object.assign kopierer egenskaper og verdier fra kildeobjektet,
og returnerer et nytt objekt. I den første parameteren til metoden
setter vi målobjektet som vi skal kopiere til,
og i den andre - angir vi objektene som skal kopieres.
Syntaks
Object.assign(hvor skal det kopieres, objekter);
Eksempel
La oss få et nytt objekt fra kilden:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Resultatet av kjøring av koden:
{a: 1, b: 2, c: 3}
Eksempel
La oss nå få et nytt objekt fra flere kilder, ved å liste dem opp i parameteren separert med komma:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Etter kjøring av koden vil vi se at de to kildeobjektene har smeltet sammen til ett nytt objekt:
{a: 1, b: 2, c: 3, d: 4}
Eksempel
Metoden Object.assign
kan også brukes for å få en ny matrise,
siden en matrise også er en type objekt.
La oss lage en ny matrise ved å kopiere elementene fra
kilden:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Resultatet av kjøring av koden:
[1, 2, 3, 4]
Eksempel
Når du bruker metoden Object.assign
må du følge syntaksen nøye.
For eksempel, hvis du ikke legger til
et målobjekt i den første parameteren, men bare lar
det kopierte objektet stå, vil det samme objektet returneres:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Resultatet av kjøring av koden:
true
Se også
-
metoden
Object.keys,
som returnerer en matrise med egenskapene til et objekt -
metoden
Object.values,
som returnerer en matrise med verdiene til et objekt