Метод Object.assign
Метод Object.assign копира својства и вредности изворног објекта,
враћајући при томе нови објекат. У првом параметру метода
ми задајемо циљни објекат у који копирамо,
а у другом - наводимо објекте које треба копирати.
Синтакса
Object.assign(куда копирати, објекти);
Пример
Хајде да добијемо нови објекат из изворног:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Резултат извршавања кода:
{a: 1, b: 2, c: 3}
Пример
А сада добијмо нови објекат из неколико изворних, набрајајући их у параметру преко зареза:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Након извршавања кода видећемо, да су се два изворна објекта спојила у један нови објекат:
{a: 1, b: 2, c: 3, d: 4}
Пример
Такође, метод Object.assign
можемо применити за добијање новог низа,
пошто низ по свом типу такође припада објектима.
Хајде да направимо нови низ, копиравши елементе из
изворног:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Резултат извршавања кода:
[1, 2, 3, 4]
Пример
При коришћењу метода Object.assign
треба пажљиво држати синтаксу.
На пример, ако не додамо
у први параметар циљни објекат, већ оставимо
само објекат за копирање, онда ће он и бити враћен назад:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Резултат извршавања кода:
true
Погледајте такође
-
метод
Object.keys,
који враћа низ својстава објекта -
метод
Object.values,
који враћа низ вредности објекта