Methode Object.assign

De methode Object.assign kopieert eigenschappen en waarden van het bronobject, en retourneert een nieuw object. In de eerste parameter van de methode geven we het doelobject op, waarin we kopiëren, en in de tweede - geven we de objecten op die gekopieerd moeten worden.

Syntaxis

javascriptObject.assign(waar naartoe te kopiëren, objecten);

Voorbeeld

Laten we een nieuw object verkrijgen uit het bronobject:

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

Resultaat van het uitvoeren van de code:

javascript{a: 1, b: 2, c: 3}

Voorbeeld

Laten we nu een nieuw object verkrijgen uit meerdere bronobjecten, door ze in de parameter gescheiden door komma's op te sommen:

javascriptlet obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};

let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);

Na het uitvoeren van de code zullen we zien dat de twee bronobjecten zijn samengevoegd tot één nieuw object:

javascript{a: 1, b: 2, c: 3, d: 4}

Voorbeeld

De methode Object.assign kan ook worden toegepast om een nieuwe array te verkrijgen, aangezien een array qua type ook tot objecten behoort. Laten we een nieuwe array maken, door elementen uit het bronobject te kopiëren:

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

console.log(newArr);

Resultaat van het uitvoeren van de code:

javascript[1, 2, 3, 4]

Voorbeeld

Bij het gebruik van de methode Object.assign moet de syntaxis zorgvuldig worden gevolgd. Als men bijvoorbeeld niet in de eerste parameter het doelobject toevoegt, maar alleen het te kopiëren object laat staan, dan wordt datzelfde object geretourneerd:

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

console.log(newObj === obj);

Resultaat van het uitvoeren van de code:

javascripttrue

Zie ook

  • methode Object.keys,
    die een array met eigenschappen van een object retourneert
  • methode Object.values,
    die een array met waarden van een object retourneert