Metoda Object.assign
Metoda Object.assign copiază proprietățile și valorile obiectului sursă,
returnând un obiect nou. În primul parametru al metodei
stabilim obiectul țintă, în care copiem,
iar în al doilea - specificăm obiectele care trebuie copiate.
Sintaxă
Object.assign(unde să copiem, obiecte);
Exemplu
Să obținem un obiect nou din cel sursă:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Rezultatul executării codului:
{a: 1, b: 2, c: 3}
Exemplu
Acum să obținem un obiect nou din mai multe surse, enumerându-le în parametru prin virgulă:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
După executarea codului vom vedea că cele două obiecte sursă s-au contopit într-un obiect nou:
{a: 1, b: 2, c: 3, d: 4}
Exemplu
De asemenea, metoda Object.assign
poate fi aplicată pentru a obține un nou array,
deoarece și array-ul după tip este un obiect.
Să facem un nou array, copiind elementele din
sursa:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Rezultatul executării codului:
[1, 2, 3, 4]
Exemplu
Când folosim metoda Object.assign
trebuie să respectăm cu atenție sintaxa.
Spre exemplu, dacă nu adăugăm
în primul parametru obiectul țintă, ci lăsăm
doar obiectul de copiat, atunci acesta va fi returnat:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Rezultatul executării codului:
true
Vedeți și
-
metoda
Object.keys,
care returnează un array cu proprietățile obiectului -
metoda
Object.values,
care returnează un array cu valorile obiectului