Методот 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,
кој враќа низа од вредности на објектот