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մեթոդը,
որը վերադարձնում է օբյեկտի արժեքներից բաղկացած զանգված