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

javascriptObject.assign(hvor man kopierer til, objekter);

Eksempel

Lad os få et nyt objekt fra kilden:

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

Resultat af udførelse af kode:

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

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

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

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

console.log(newArr);

Resultat af udførelse af kode:

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

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

console.log(newObj === obj);

Resultat af udførelse af kode:

javascripttrue

Se også

  • metoden Object.keys,
    som returnerer en array af objektets egenskaber
  • metoden Object.values,
    som returnerer en array af objektets værdier