The Object.assign() -metodi käytetään kopioimaan arvot ja ominaisuudet yhdestä tai useammasta lähdeobjektista kohdeobjektiin. Se kutsuu gettereitä ja asettajia, koska se käyttää sekä [[Get]] lähteessä että [[Set]] kohteessa.
Syntaksi:
Object.assign(target, ...sources);>
Parametrit:
- kohde : Se on kohdeobjekti, johon arvot ja ominaisuudet on kopioitava.
- lähteet : Se on lähdeobjekti, josta arvot ja ominaisuudet on kopioitava.
Palautusarvo:
Object.assign() palauttaa kohdeobjektin.
Esimerkki 1: Tässä esimerkissä objektin obj1 ominaisuudet eli { a: 10 } kopioidaan kohdeobjektiin 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);> |
postorder traversal binääripuu
>
>
Lähtö:
Object { a: 1 }> Esimerkki 2: Tässä esimerkissä kolmen lähdeobjektin obj1, obj2, obj3 ominaisuudet kopioidaan kohdeobjektiin new_obj. Kaikkien olemassa olevien avain-arvo-parien arvo, joka oli olemassa edellisessä objektissa, ylikirjoitetaan. Esimerkiksi obj1.b, jonka arvo on 10, korvataan nyt obj2.b:llä, jonka arvo on 20
muuntaa merkkijonoksi java
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);> |
>
>
Lähtö:
Object { a: 10, b: 20, c: 30 }> Esimerkki 3: Tässä esimerkissä kolmen lähdeobjektin obj1, obj2, obj3 ominaisuudet kopioidaan kohdeobjektiin new_obj ja kohdeobjekti saa päällekirjoitetut arvot.
Javascript
// 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);> |
>
>
Lähtö:
konekirjoituspäivämäärätyyppi
Object { a: 10, b: 20, c: 30 }> Selitys:
Yllä olevassa koodissa ominaisuudet korvaavat muut objektit, joilla on samat ominaisuudet myöhemmin samassa parametrijärjestyksessä.
Sovellukset:
- Object.assign() käytetään objektin kloonaamiseen, objektien yhdistämiseen, joilla on samat ominaisuudet.
Virheet ja poikkeukset :
- TypeError ilmestyy, jos ominaisuus ei ole kirjoitettava.
- Kohdeobjektia voidaan muuttaa vain, jos ominaisuudet lisätään ennen virheen ilmaantumista.
- Object.assign() ei anna nolla- tai määrittelemättömiä lähdearvoja
Meillä on täydellinen luettelo JavaScript-objektimenetelmistä. Tarkista ne käymällä läpi tämä JavaScript Object Complete Reference artikla.
Tuetut selaimet:
- Google Chrome 6.0 ja uudemmat
- Internet Explorer 9.0 ja uudemmat
- Mozilla 4.0 ja uudemmat
- Opera 11.1 ja uudemmat
- Safari 5.0 ja uudemmat