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

javascriptObject.assign(hvor skal det kopieres, objekter);

Eksempel

La oss få et nytt objekt fra kilden:

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

Resultatet av kjøring av koden:

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

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

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

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

console.log(newArr);

Resultatet av kjøring av koden:

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

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

console.log(newObj === obj);

Resultatet av kjøring av koden:

javascripttrue

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