ЈаваСцрипт Објецт.ассигн ()

Метода ЈаваСцрипт Објецт.ассигн () копира сва набројана сопствена својства датих објеката у један објекат и враћа га.

Синтакса assign()методе је:

 Object.assign(target,… sources)

assign()Метода, као статичког метода, зове се користи Objectназив класе.

ассигн () Параметри

assign()Метод узима у:

  • таргет - циљни објекат - на шта треба применити својства извора, који се враћа након што је измењен.
  • извори - Изворни објект (и) - објекти који садрже својства која желите да примените.

Врати вредност из ассигн ()

  • Враћа циљни објекат.

Напомена: Својства у циљном објекту преписују се својствима у изворима ако имају исти кључ.

Пример 1: Коришћење Објецт.ассигн () за клонирање и спајање објеката

 // 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 )

Оутпут

 (име: 'Алан Туринг', старост: 120) (име: 'Алан Туринг', старост: 120) (а: 1, б: 12, ц: 23)

Овде имајте на уму да ако је изворна вредност референца на објекат, она само копира референтну вредност.

Такође, својства каснијих извора преписују раније.

Пример 2: Коришћење Објецт.ассигн ()

 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 )

Оутпут

 (ц: 3) ('0': 'а', '1': 'б', '2': 'ц', ц: 3)

Као што видите, својства на ланцу прототипа и небројива својства не могу се копирати.

Такође, примитиви ће бити омотани у објекте, нула и недефинисани ће се занемарити.

Будући да само низови имају набројана својства, копирају се у циљни објекат.

Препоручена литература: Јавасцрипт објекат дефинеПропертиес ()

Занимљиви Чланци...