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

javascriptObject.assign(vart man ska kopiera, objekt);

Exempel

Låt oss skapa ett nytt objekt från källobjektet:

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

Resultat av kodkörning:

javascript{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:

javascriptlet 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:

javascript{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:

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

console.log(newArr);

Resultat av kodkörning:

javascript[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:

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

console.log(newObj === obj);

Resultat av kodkörning:

javascripttrue

Se även

  • metoden Object.keys,
    som returnerar en array med objektets egenskaper
  • metoden Object.values,
    som returnerar en array med objektets värden