Object.assign metodi

Object.assign metodi çeşme obýektiň aýratynlyklaryny we bahalaryny göçürýär, şol bir wagtda täze obýekti gaýtarýar. Metodiň birinji parametrinde biz göçürmek isleýän niýetlenen obýekdi kesgitleýäris, ikinjisinde bolsa, göçürilmeli obýektleri görkezýäris.

Sintaksis

javascriptObject.assign(haýsy göçürmeli, obýektler);

Mysal

Geliň, çeşme obýektden täze obýekt alyň:

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

Kody ýerine ýetirmegiň netijesi:

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

Mysal

Indi bolsa, birnäçe çeşme obýektden täze obýekt alyň, olary parametrde vergül bilen sanap:

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

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

Kody ýerine ýetirilenden soň, biz göreris, iki çeşme obýekt bir täze obýekde birleşdi:

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

Mysal

Şeýle hem Object.assign metodi täze massiw almak üçin ulanyp bolýar, sebäbi massiw tipi boýunça obýektlere degişlidir. Geliň, çeşmeden elementleri göçürýän täze massiw dörediň:

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

console.log(newArr);

Kody ýerine ýetirmegiň netijesi:

javascript[1, 2, 3, 4]

Mysal

Object.assign metodyny ulananda sintaksise üns berip durmaly. Mysal üçin, ilkinji parametre niýetlenen obýekdi goşmasaňyz, ýöne göçürilýän obýekdi galdyrsaňyz, ol yzygider gaýtarilar:

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

console.log(newObj === obj);

Kody ýerine ýetirmegiň netijesi:

javascripttrue

Şeýle-de görüň

  • Object.keys metodi,
    obýektiň aýratynlyklaryndan massiw gaýtarýar
  • Object.values metodi,
    obýektiň bahalaryndan massiw gaýtarýar