logo

Objecte JavaScript assign() Mètode

El Mètode Object.assign(). s'utilitza per copiar els valors i les propietats d'un o més objectes d'origen a un objecte de destinació. Invoca getters i setters ja que utilitza tant [[Get]] a la font com [[Set]] a l'objectiu.

Sintaxi:

Object.assign(target, ...sources);>

Paràmetres:

  • objectiu : és l'objecte de destinació al qual s'han de copiar els valors i les propietats.
  • fonts : és l'objecte font des del qual s'han de copiar els valors i les propietats.

Valor de retorn:

Object.assign() retorna l'objecte objectiu.



Exemple 1: En aquest exemple, les propietats de l'objecte obj1, és a dir, {a: 10}, es copien a l'objecte de destinació 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);>

embolcall de paraules css

>

>

Sortida:

Object { a: 1 }>

Exemple 2: En aquest exemple, les propietats de tres objectes font obj1, obj2, obj3 es copien a l'objecte de destinació new_obj. El valor de qualsevol parell clau-valor preexistent que existia a l'objecte anterior se sobreescriurà. Per exemple, obj1.b que té un valor de 10 ara es sobreescriurà amb obj2.b que té un valor de 20

Javascript


pete davidson



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

>

>

Sortida:

Object { a: 10, b: 20, c: 30 }>

Exemple 3: En aquest exemple, les propietats de tres objectes d'origen obj1, obj2, obj3 es copien a l'objecte de destinació new_obj i l'objecte de destinació obté els valors sobreescrits.

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

>

>

Sortida:

Object { a: 10, b: 20, c: 30 }>

Explicació:

En el codi anterior, les propietats es sobreescriuen per altres objectes que tenen les mateixes propietats posteriorment en el mateix ordre de paràmetres.

classe vs objecte en java

Aplicacions:

  • Object.assign() s'utilitza per clonar un objecte, per combinar objectes amb les mateixes propietats.

Errors i excepcions :

  • Es genera un TypeError si la propietat no es pot escriure.
  • L'objecte de destinació només es pot canviar si les propietats s'afegeixen abans que es produeixi l'error.
  • Object.assign() no introdueix valors font nuls o indefinits

Tenim una llista completa de mètodes d'objectes JavaScript, per comprovar-los, si us plau, seguiu-ho Referència completa d'objectes JavaScript article.

Navegadors compatibles:

  • Google Chrome 6.0 i superior
  • Internet Explorer 9.0 i posterior
  • Mozilla 4.0 i superior
  • Opera 11.1 i posterior
  • Safari 5.0 i superior