Die Object.assign-Methode

Die Methode Object.assign kopiert Eigenschaften und Werte des Quellobjekts und gibt dabei ein neues Objekt zurück. Im ersten Parameter der Methode legen wir das Zielobjekt fest, in das kopiert werden soll, und im zweiten Parameter geben wir die Objekte an, die kopiert werden müssen.

Syntax

javascriptObject.assign(wohin kopieren, Objekte);

Beispiel

Lassen Sie uns ein neues Objekt aus dem Quellobjekt erhalten:

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

Ergebnis der Codeausführung:

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

Beispiel

Lassen Sie uns nun ein neues Objekt aus mehreren Quellobjekten erhalten, indem wir sie im Parameter durch Komma getrennt auflisten:

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

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

Nach der Codeausführung werden wir sehen, dass die beiden Quellobjekte zu einem einzigen neuen Objekt verschmolzen sind:

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

Beispiel

Die Methode Object.assign kann auch verwendet werden, um ein neues Array zu erhalten, da ein Array seinem Typ nach ebenfalls zu den Objekten gehört. Lassen Sie uns ein neues Array erstellen, indem wir Elemente aus dem Quellarray kopieren:

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

console.log(newArr);

Ergebnis der Codeausführung:

javascript[1, 2, 3, 4]

Beispiel

Bei der Verwendung der Methode Object.assign muss die Syntax genau eingehalten werden. Wenn man beispielsweise im ersten Parameter das Zielobjekt weglässt und nur das zu kopierende Objekt angibt, wird genau dieses zurückgegeben:

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

console.log(newObj === obj);

Ergebnis der Codeausführung:

javascripttrue

Siehe auch

  • die Methode Object.keys,
    die ein Array mit den Eigenschaften eines Objekts zurückgibt
  • die Methode Object.values,
    die ein Array mit den Werten eines Objekts zurückgibt