object.assign to copy object code example
Example 1: javascript clone object
var x = {myProp: "value"};
var xClone = Object.assign({}, x);
//Obs: nested objects are still copied as reference.
Example 2: javascript object.assign
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
Example 3: copy an object with object.assign
// We want to update status property value to 'online'
const data = {
user: 'CamperBot',
status: 'offline',
friends: '732,982',
};
// Object.assign takes in a target object (1st parameter) and source objects
// (rest of the parameter list). Source object properties are mapped to the
// target object (which is usually empty). Any matching properties are
// overwritten by the source objects
const newObject = Object.assign({}, data, {status: 'online'})
console.log(newObject)
/*
{
user: 'CamperBot',
status: 'online',
friends: '732,982',
}
*/