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