JS: Object.assign

By Xah Lee. Date: . Last updated: .

New in ES2015.

Object.assign ( target_obj, source_obj_1, source_obj_2, … )

Shallow copy the values of all of the enumerable own properties from source_obj_1, source_obj_2 etc objects to a target_obj object.

[see JS: Property Attributes, writable, enumerable, configurable]

Return the modified target_obj.

target_obj is modified.

const A = {a1: 3};
const B = {b1: 3};
const T = {};

// add properties from A and B to T. Returns the new T
console.log ( Object.assign ( T, A, B ) ); // { a1: 3, b1: 3 }

// value of variable T is changed
console.log ( T ); // { a1: 3, b1: 3 }
const src = {a1: 4};
const tar = {a1: 3};

// if properties are same, value is overwritten
console.log ( Object.assign ( tar, src ) ); // { a1: 4 }

Reference

ECMAScript® 2016 Language Specification#sec-object.assign

Object and Inheritance Topic

  1. JS: Object System Overview
  2. JS: What's Object?
  3. JS: Prototype and Inheritance
  4. JS: Create Object
  5. JS: Object Literal Expression
  6. JS: Find Object's Prototype
  7. JS: Set Object's Prototype
  8. JS: How to Create Object with Parent X?
  9. JS: Prevent Adding Property
  10. JS: Determine Type of Object
  11. JS: Primitive Value Object Wrapper
  12. JS: Clone, Deep Copy Object/Array
  13. JS: Test Equality of Objects

  1. JS: Object Object
  2. JS: Object.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth