Det Object.assign() metode bruges til at kopiere værdierne og egenskaberne fra et eller flere kildeobjekter til et målobjekt. Den påkalder gettere og sættere, da den både bruger [[Get]] på kilden og [[Set]] på målet.
Syntaks:
Object.assign(target, ...sources);>
Parametre:
- mål : Det er målobjektet, som værdier og egenskaber skal kopieres til.
- kilder : Det er kildeobjektet, som værdier og egenskaber skal kopieres fra.
Returneringsværdi:
Object.assign() returnerer målobjektet.
Eksempel 1: I dette eksempel kopieres egenskaberne for objektet obj1, dvs. { a: 10 }, til målobjektet 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);> |
metode understreng java
>
>
Produktion:
jtekstfelt
Object { a: 1 }> Eksempel 2: I dette eksempel er egenskaberne for tre kildeobjekter obj1, obj2, obj3 kopieret til målobjektet new_obj. Værdien af et hvilket som helst allerede eksisterende nøgle-værdi-par, der eksisterede i det forrige objekt, vil blive overskrevet. For eksempel vil obj1.b som har en værdi på 10 nu blive overskrevet med obj2.b som har en værdi på 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);> |
>
>
Output:
Object { a: 10, b: 20, c: 30 }> Eksempel 3: I dette eksempel kopieres egenskaberne for tre kildeobjekter obj1, obj2, obj3 til målobjektet new_obj, og målobjektet får de overskrevne værdier.
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);> |
>
>
Produktion:
Object { a: 10, b: 20, c: 30 }> Forklaring:
I ovenstående kode overskrives egenskaberne af andre objekter, der har de samme egenskaber senere i samme rækkefølge af parametre.
gimp fjern vandmærke
Ansøgninger:
- Object.assign() bruges til at klone et objekt for at flette objekter med de samme egenskaber.
Fejl og undtagelser :
- En TypeError opstår, hvis egenskaben ikke er skrivbar.
- Målobjektet kan kun ændres, hvis egenskaberne tilføjes, før fejlen opstår.
- Object.assign() kaster ikke på null eller udefinerede kildeværdier
Vi har en komplet liste over JavaScript Object-metoder, for at kontrollere dem, gå venligst igennem dette JavaScript Object Complete Reference artikel.
Understøttede browsere:
- Google Chrome 6.0 og nyere
- Internet Explorer 9.0 og nyere
- Mozilla 4.0 og nyere
- Opera 11.1 og nyere
- Safari 5.0 og nyere