logo

Metoda JavaScript Object assign().

The Metoda Object.assign(). este folosit pentru a copia valorile și proprietățile de la unul sau mai multe obiecte sursă într-un obiect țintă. Invocă getters și setters, deoarece folosește atât [[Get]] pe sursă, cât și [[Set]] pe țintă.

Sintaxă:

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

Parametri:

  • ţintă : este obiectul țintă în care trebuie copiate valorile și proprietățile.
  • surse : este obiectul sursă din care trebuie copiate valorile și proprietățile.

Valoare returnată:

Object.assign() returnează obiectul țintă.



Exemplul 1: În acest exemplu, proprietățile obiectului obj1, adică { a: 10 }, sunt copiate în obiectul țintă 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);>

parcurgerea post-ordine a arborelui binar

>

>

Ieșire:

Object { a: 1 }>

Exemplul 2: În acest exemplu, proprietățile a trei obiecte sursă obj1, obj2, obj3 sunt copiate în obiectul țintă new_obj. Valoarea oricărei perechi cheie-valoare preexistentă care a existat în obiectul anterior va fi suprascrisă. De exemplu, obj1.b care are o valoare de 10 va fi acum suprascris cu obj2.b care are o valoare de 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);>

java int în șir
>

>

Ieșire:

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

Exemplul 3: În acest exemplu, proprietățile a trei obiecte sursă obj1, obj2, obj3 sunt copiate în obiectul țintă new_obj, iar obiectul țintă primește valorile suprascrise.

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

>

comandă autocad de linie
>

Ieșire:

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

Explicaţie:

În codul de mai sus, proprietățile sunt suprascrise de alte obiecte care au aceleași proprietăți ulterior în aceeași ordine a parametrilor.

Aplicatii:

  • Object.assign() este folosit pentru clonarea unui obiect, pentru a îmbina obiecte cu aceleași proprietăți.

Erori și excepții :

  • O TypeError este generată dacă proprietatea nu poate fi scrisă.
  • Obiectul țintă poate fi modificat numai dacă proprietățile sunt adăugate înainte ca eroarea să fie ridicată.
  • Object.assign() nu aruncă valori sursă nule sau nedefinite

Avem o listă completă de metode JavaScript Object, pentru a le verifica, vă rugăm să parcurgeți aceasta Referință completă a obiectelor JavaScript articol.

Browsere acceptate:

  • Google Chrome 6.0 și versiuni ulterioare
  • Internet Explorer 9.0 și versiuni ulterioare
  • Mozilla 4.0 și versiuni ulterioare
  • Opera 11.1 și versiuni ulterioare
  • Safari 5.0 și versiuni ulterioare