Object.assign մեթոդը

Object.assign մեթոդը պատճենում է օբյեկտի հատկություններն ու արժեքները, վերադարձնելով նոր օբյեկտ։ Մեթոդի առաջին պարամետրում մենք նշում ենք թիրախային օբյեկտը, որի մեջ պատճենում ենք, իսկ երկրորդում` նշում ենք պատճենման ենթակա օբյեկտները։

Շարահյուսություն

javascriptObject.assign(որտեղ պատճենել, օբյեկտներ);

Օրինակ

Եկեք ստացնենք նոր օբյեկտ սկզբնականից.

javascriptlet obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);

Կոդի կատարման արդյունք.

javascript{a: 1, b: 2, c: 3}

Օրինակ

Իսկ այժմ ստացնենք նոր օբյեկտ մի քանի սկզբնականից, թվարկելով դրանք պարամետրում ստորակետով.

javascriptlet obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};

let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);

Կոդի կատարումից հետո կտեսնենք, որ երկու սկզբնական օբյեկտներ միաձուլվել են մեկ նոր օբյեկտի մեջ.

javascript{a: 1, b: 2, c: 3, d: 4}

Օրինակ

Object.assign մեթոդը կարող է օգտագործվել նաև նոր զանգված ստանալու համար, քանի որ զանգվածն իր տեսակով նույնպես պատկանում է օբյեկտներին։ Եկեք ստեղծենք նոր զանգված` պատճենելով տարրերը սկզբնականից.

javascriptlet arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);

console.log(newArr);

Կոդի կատարման արդյունք.

javascript[1, 2, 3, 4]

Օրինակ

Object.assign մեթոդն օգտագործելիս անհրաժեշտ է ուշադիր հետևել շարահյուսությանը։ Օրինակ, եթե չավելացվի առաջին պարամետրում թիրախային օբյեկտը, այլ թողնվի միայն պատճենման ենթակա օբյեկտը, ապա այն կվերադարձվի.

javascriptlet obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);

console.log(newObj === obj);

Կոդի կատարման արդյունք.

javascripttrue

Տես նաև

  • Object.keys մեթոդը,
    որը վերադարձնում է օբյեկտի հատկություններից բաղկացած զանգված
  • Object.values մեթոդը,
    որը վերադարձնում է օբյեկտի արժեքներից բաղկացած զանգված