De Object.assign() metod används för att kopiera värdena och egenskaperna från ett eller flera källobjekt till ett målobjekt. Den anropar getters och seters eftersom den använder både [[Get]] på källan och [[Set]] på målet.
Syntax:
Object.assign(target, ...sources);>
Parametrar:
- mål : Det är målobjektet som värden och egenskaper måste kopieras till.
- källor : Det är källobjektet från vilket värden och egenskaper måste kopieras.
Returvärde:
Object.assign() returnerar målobjektet.
Exempel 1: I det här exemplet kopieras egenskaperna för objektet obj1, dvs. { a: 10 }, till 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);> |
java sträng av array
>
>
Produktion:
Object { a: 1 }> Exempel 2: I det här exemplet kopieras egenskaperna för tre källobjekt obj1, obj2, obj3 till målobjektet new_obj. Värdet för alla befintliga nyckel-värdepar som fanns i det föregående objektet kommer att skrivas över. Till exempel, obj1.b som har värdet 10 kommer nu att skrivas över med obj2.b som har värdet 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);> |
>
>
Excel datum skillnad
Utgång:
Object { a: 10, b: 20, c: 30 }> Exempel 3: I det här exemplet kopieras egenskaperna för tre källobjekt obj1, obj2, obj3 till målobjektet new_obj och målobjektet får de överskrivna värdena.
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:
välj som
Object { a: 10, b: 20, c: 30 }> Förklaring:
I ovanstående kod skrivs egenskaperna över av andra objekt som har samma egenskaper senare i samma parametrarordning.
Applikationer:
- Object.assign() används för att klona ett objekt, för att sammanfoga objekt med samma egenskaper.
Fel och undantag :
- Ett TypeError uppstår om egenskapen inte är skrivbar.
- Målobjektet kan endast ändras om egenskaperna läggs till innan felet uppstår.
- Object.assign() kastar inte på null eller odefinierade källvärden
Vi har en komplett lista över JavaScript-objektmetoder, gå igenom detta för att kontrollera dem JavaScript Object Complete Reference artikel.
Webbläsare som stöds:
- Google Chrome 6.0 och senare
- Internet Explorer 9.0 och senare
- Mozilla 4.0 och senare
- Opera 11.1 och senare
- Safari 5.0 och senare