Objects shallow copy / clone with Object.assign()

JS
S
JavaScript

Useful for merging 2+ objects or cloning them shallowly.

1'use strict';
2
3// Merge an object
4let first = {name: 'Tony'};
5let last = {lastName: 'Stark'};
6let person = Object.assign(first, last);
7
8// {name: 'Tony', lastName: 'Stark'}
9// first = {name: 'Tony', lastName: 'Stark'} as the target also changed
10
11// Merge multiple sources
12let a = Object.assign({foo: 0}, {bar: 1}, {baz: 2});
13// {foo: 0, bar: 1, baz: 2}
14
15// Merge and overwrite equal keys
16let b = Object.assign({foo: 0}, {foo: 1}, {foo: 2});
17// {foo: 2}
18
19// Clone an object
20let obj = {person: 'Thor Odinson'};
21let clone = Object.assign({}, obj);
22// {person: 'Thor Odinson'}

Created on 8/25/2017