Metoden Object.assign
Metoden Object.assign kopierar egenskaper och värden från källobjektet,
och returnerar samtidigt ett nytt objekt. I metodens första parameter
anger vi målobjektet som vi ska kopiera till,
och i den andra - anger vi de objekt som ska kopieras.
Syntax
Object.assign(vart man ska kopiera, objekt);
Exempel
Låt oss skapa ett nytt objekt från källobjektet:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Resultat av kodkörning:
{a: 1, b: 2, c: 3}
Exempel
Låt oss nu skapa ett nytt objekt från flera källor genom att lista dem i parametern separerade med kommatecken:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Efter kodkörning ser vi att de två källobjekten har slagits samman till ett nytt objekt:
{a: 1, b: 2, c: 3, d: 4}
Exempel
Metoden Object.assign
kan också användas för att skapa en ny array,
eftersom arrayer av typen också är objekt.
Låt oss skapa en ny array genom att kopiera element från
källan:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Resultat av kodkörning:
[1, 2, 3, 4]
Exempel
När man använder metoden Object.assign
måste man noggrant hålla sig till syntaxen.
Till exempel, om man inte lägger till
målobjektet i den första parametern, utan bara lämnar
det kopierade objektet, så kommer det att returneras tillbaka:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Resultat av kodkörning:
true
Se även
-
metoden
Object.keys,
som returnerar en array med objektets egenskaper -
metoden
Object.values,
som returnerar en array med objektets värden