Metodo Object.assign
Il metodo Object.assign copia le proprietà e i valori dell'oggetto sorgente,
restituendo un nuovo oggetto. Nel primo parametro del metodo
impostiamo l'oggetto di destinazione in cui copiare,
e nel secondo - specifichiamo gli oggetti da copiare.
Sintassi
Object.assign(dove copiare, oggetti);
Esempio
Otteniamo un nuovo oggetto da quello originale:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Risultato dell'esecuzione del codice:
{a: 1, b: 2, c: 3}
Esempio
Ora otteniamo un nuovo oggetto da diverse sorgenti, elencandole nel parametro separati da virgola:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Dopo l'esecuzione del codice vedremo che i due oggetti originali si sono fusi in un unico nuovo oggetto:
{a: 1, b: 2, c: 3, d: 4}
Esempio
Il metodo Object.assign
può anche essere utilizzato per ottenere un nuovo array,
poiché un array per il suo tipo è anche un oggetto.
Creiamo un nuovo array, copiando gli elementi
dall'originale:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Risultato dell'esecuzione del codice:
[1, 2, 3, 4]
Esempio
Quando si utilizza il metodo Object.assign
è necessario prestare attenzione alla sintassi.
Ad esempio, se non si aggiunge
nel primo parametro l'oggetto di destinazione, ma si lascia
solo l'oggetto da copiare, questo verrà restituito così com'è:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Risultato dell'esecuzione del codice:
true
Vedi anche
-
metodo
Object.keys,
che restituisce un array delle proprietà di un oggetto -
metodo
Object.values,
che restituisce un array dei valori di un oggetto