object.assign javascript code example

Example 1: javascript assign

const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

Example 2: javascript clone object

var x = {myProp: "value"};
var xClone = Object.assign({}, x);

//Obs: nested objects are still copied as reference.

Example 3: 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 4: object assign

The Object.assign() method copies all enumerable own properties from one or more source objects to a target object. It returns the target object.
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 5: concat object

const obj1 = { food: 'pizza', car: 'ford' };
const obj2 = { animal: 'dog' };

const obj3 = { ...obj1, ...obj2 };
console.log(obj3);

Example 6: 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',
  }
*/