„JavaScripti Object.assign ()

Metodas „JavaScript Object……

assign()Metodo sintaksė yra tokia:

 Object.assign(target,… sources)

assign()Metodas, būdamas statinis metodas, vadinamas naudojant Objectklasės pavadinimą.

priskirti () parametrus

assign()Metodas trunka:

  • target - Taikinio objektas - kam pritaikyti šaltinių savybes, kuris grąžinamas jį modifikavus.
  • šaltiniai - šaltinio objektas (-ai) - objektai, turintys norimas taikyti ypatybes.

Grąžinimo vertė iš priskirtos ()

  • Grąžina tikslinį objektą.

Pastaba: tikslinio objekto ypatybės perrašomos šaltinių ypatybėmis, jei jos turi tą patį raktą.

1 pavyzdys: objektų klonavimui ir sujungimui naudokite „Object.assign ()“

 // cloning objects const obj = ( name: "Alan Turing", age: 120, ); let newObject = (); const copy = Object.assign(newObject, obj); // modifies the target object console.log(newObject); // returns the modified object console.log(copy); // merging objects const o1 = ( a: 1, b: 2, c: 3 ); const o2 = ( b: 12, c: 13 ); const o3 = ( c: 23 ); // Earlier source keys are overwritten by later sources const o4 = Object.assign((), o1, o2, o3); console.log(o4); // ( a: 1, b: 12, c: 23 )

Rezultatas

 (vardas: „Alanas Turingas“, amžius: 120) (vardas: „Alanas Turingas“, amžius: 120) (a: 1, b: 12, c: 23)

Čia atkreipkite dėmesį, kad jei šaltinio vertė yra nuoroda į objektą, ji nukopijuoja tik pamatinę vertę.

Be to, vėlesnių šaltinių savybės perrašo ankstesnes.

2 pavyzdys: Object.assign () naudojimas

 const obj = Object.create( ( a: 1 ), ( // a is on obj's prototype chain. b: ( value: 2, // b is a non-enumerable property. ), c: ( value: 3, enumerable: true, // c is an own enumerable property. ), ) ); let copy = Object.assign((), obj); console.log(copy); // ( c: 3 ) copy = Object.assign(copy, "abc", 100, null); console.log(copy); // ( '0': 'a', '1': 'b', '2': 'c', c: 3 )

Rezultatas

 (c: 3) („0“: „a“, „1“: „b“, „2“: „c“, c: 3)

Kaip matote, negalima nukopijuoti savybių prototipo grandinėje ir nesuskaičiuojamų savybių.

Taip pat primityvai bus apvynioti daiktais, ignoruojami niekiniai ir neapibrėžtieji.

Kadangi tik eilutės turi nesuskaičiuojamą savybę, jos nukopijuojamos į tikslinį objektą.

Rekomenduojamas skaitymas: „ Javascript Object defineProperties ()“

Įdomios straipsniai...