Open In App

JavaScript Object assign() Method

The Object.assign() method is used to copy the values and properties from one or more source objects to a target object. It invokes getters and setters since it uses both [[Get]] on the source and [[Set]] on the target.

Syntax:

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

Parameters: 

Return Value: 

Object.assign() returns the target object.



Example 1: In this example, the properties of the object “obj1” i.e. { a: 10 } is copied to the target object “new_obj”.




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

Output: 



Object { a: 1 }

Example 2: In this example, the properties of three source objects “obj1, obj2, obj3” are copied to the target object “new_obj”. The value of any pre-existing key-value pair that existed in the previous object will be over-written. For example, obj1.b which has a value of 10 will now be overwritten with obj2.b which has a value of 20




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

Output : 

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

Example 3: In this example, the properties of three source objects “obj1, obj2, obj3” are copied to the target object “new_obj” and the target object gets the overwritten values.




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

Output: 

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

Explanation:

In the above code the properties are overwritten by other objects that have the same properties later in the same order of parameters.

Applications: 

Errors and Exceptions:

We have a complete list of JavaScript Object methods, to check those please go through this JavaScript Object Complete Reference article.

Supported Browsers:


Article Tags :