1.基本用法:對象的合並,如果相同的屬性,后邊覆蓋前邊的.如果只有一個參數,直接返回該參數.如果不是對象,先轉化成對象在返回.由於undefined和null無法轉成對象,所以如果它們作為參數,就會報錯。
var target = { a: 'a' }; var source1 = { b: 'b' }; var source2 = { c: 'c'}; Object.assign(target, source1, source2); target // {a:a, b:b, c:c}
2.淺拷貝.遇到同名屬性.替換該屬性而不是添加屬性.常見的使用時給對象添加屬性和方法,克隆對象
var obj1 = {a: {b: 'b'}}; var obj2 = Object.assign({}, obj1); obj1.a.b = b; obj2.a.b // b