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