The Metoda Object.assign(). se uporablja za kopiranje vrednosti in lastnosti iz enega ali več izvornih objektov v ciljni objekt. Prikliče pridobivalnike in nastavljalce, saj uporablja [[Get]] na izvoru in [[Set]] na cilju.
Sintaksa:
Object.assign(target, ...sources);>
Parametri:
- tarča : Je ciljni objekt, v katerega je treba kopirati vrednosti in lastnosti.
- viri : Je izvorni objekt, iz katerega je treba kopirati vrednosti in lastnosti.
Povratna vrednost:
Object.assign() vrne ciljni objekt.
Primer 1: V tem primeru so lastnosti objekta obj1, tj. { a: 10 }, kopirane v ciljni objekt new_obj.
Javascript
// creating an object constructor> // and assigning values to it> const obj1 = { a: 1 };> // creating a target object and copying values and> // properties to it using object.assign() method> // Here, obj1 is the source object> const new_obj = Object.assign({}, obj1);> // Displaying the target object> console.log(new_obj);> |
cp ukaz v linuxu
>
>
Izhod:
abeceda s številkami
Object { a: 1 }>
Primer 2: V tem primeru so lastnosti treh izvornih objektov obj1, obj2, obj3 prekopirane v ciljni objekt new_obj. Vrednost katerega koli že obstoječega para ključ-vrednost, ki je obstajal v prejšnjem objektu, bo prepisana. Na primer, obj1.b, ki ima vrednost 10, bo zdaj prepisan z obj2.b, ki ima vrednost 20
Javascript
// creating 3 object constructors and assigning values to it> let obj1 = { a: 10 };> let obj2 = { b: 20 };> let obj3 = { c: 30 };> // Creating a target object and copying values> // and properties to it using object.assign() method> let new_obj = Object.assign({}, obj1, obj2, obj3);> // Displaying the target object> console.log(new_obj);> |
>
>
Izhod:
Object { a: 10, b: 20, c: 30 }>
Primer 3: V tem primeru se lastnosti treh izvornih objektov obj1, obj2, obj3 prekopirajo v ciljni objekt new_obj in ciljni objekt dobi prepisane vrednosti.
Javascript
prenesti v niz
// Creating 3 object constructors and assigning values to it> let obj1 = { a: 10, b: 10, c: 10 };> let obj2 = { b: 20, c: 20 };> let obj3 = { c: 30 };> // Creating a target object and copying values and> // properties to it using object.assign() method> let new_obj = Object.assign({}, obj1, obj2, obj3);> // Displaying the target object> console.log(new_obj);> |
>
>
Izhod:
Object { a: 10, b: 20, c: 30 }>
Pojasnilo:
V zgornji kodi so lastnosti prepisane z drugimi objekti, ki imajo enake lastnosti kasneje v istem vrstnem redu parametrov.
Aplikacije:
- Object.assign() se uporablja za kloniranje predmeta, za združevanje predmetov z enakimi lastnostmi.
Napake in izjeme :
- Napaka TypeError se pojavi, če lastnost ni zapisljiva.
- Ciljni objekt je mogoče spremeniti samo, če so lastnosti dodane, preden se pojavi napaka.
- Object.assign() ne vrže ničelnih ali nedefiniranih izvornih vrednosti
Imamo popoln seznam metod JavaScript Object, če jih želite preveriti, pojdite skozi to JavaScript Object Complete Reference Članek.
Podprti brskalniki:
- Google Chrome 6.0 in novejši
- Internet Explorer 9.0 in novejši
- Mozilla 4.0 in novejši
- Opera 11.1 in novejši
- Safari 5.0 in novejši