logo

JavaScript Object assign() Metoda

The Metoda Object.assign(). se používá ke kopírování hodnot a vlastností z jednoho nebo více zdrojových objektů do cílového objektu. Vyvolává getry a nastavovače, protože používá jak [[Get]] na zdroji, tak [[Set]] na cíli.

Syntax:

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

Parametry:

  • cílová : Je to cílový objekt, do kterého je třeba zkopírovat hodnoty a vlastnosti.
  • Zdroje : Je to zdrojový objekt, ze kterého je třeba kopírovat hodnoty a vlastnosti.

Návratová hodnota:

Object.assign() vrátí cílový objekt.

Příklad 1: V tomto příkladu jsou vlastnosti objektu obj1, tj. { a: 10 } zkopírovány do cílového objektu 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);>

c# obsahuje řetězec

>

>

Výstup:

Object { a: 1 }>

Příklad 2: V tomto příkladu jsou vlastnosti tří zdrojových objektů obj1, obj2, obj3 zkopírovány do cílového objektu new_obj. Hodnota jakéhokoli již existujícího páru klíč–hodnota, který existoval v předchozím objektu, bude přepsána. Například obj1.b, který má hodnotu 10, bude nyní přepsán obj2.b, který má hodnotu 20

Javascript




0,2 jako zlomek
// 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);>

>

>

Výstup :

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

Příklad 3: V tomto příkladu jsou vlastnosti tří zdrojových objektů obj1, obj2, obj3 zkopírovány do cílového objektu new_obj a cílový objekt získá přepsané hodnoty.

Javascript




if-else java

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

>

>

Výstup:

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

Vysvětlení:

Ve výše uvedeném kódu jsou vlastnosti přepsány jinými objekty, které mají později stejné vlastnosti ve stejném pořadí parametrů.

Aplikace:

  • Object.assign() se používá pro klonování objektu, ke sloučení objektů se stejnými vlastnostmi.

Chyby a výjimky :

  • Pokud vlastnost není zapisovatelná, vyvolá se chyba TypeError.
  • Cílový objekt lze změnit, pouze pokud jsou vlastnosti přidány před vyvoláním chyby.
  • Object.assign() nevyvolá hodnoty null nebo nedefinované zdrojové hodnoty

Máme úplný seznam metod objektů JavaScript, pro kontrolu si je projděte tímto Úplná reference objektu JavaScript článek.

Podporované prohlížeče:

  • Google Chrome 6.0 a vyšší
  • Internet Explorer 9.0 a vyšší
  • Mozilla 4.0 a vyšší
  • Opera 11.1 a vyšší
  • Safari 5.0 a vyšší