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,
ки массиве аз қиматҳои объектро бармегардонад