Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
let obj1 = {a:2,b:3}
let obj2 = Object.assign({},obj1);
console.log(obj1);//{a:2,b:3}
console.log(obj2);//{a:2,b:3|}
let target = {a:1,b:2};
let source ={a:2,c:3};
let result = Object.assign(target,source);
console.log(target);//{a:2,b:2,c:3}
console.log(source);//{a:2,c:2}
console.log(result);//{a:2,b:2,c:3}
let target1 = {a:1,b:2};
let source1 ={a:2,c:3};
let result1 = Object.assign(source1,target1);
console.log(target1);//{a:1,b:2}
console.log(source1);//{a:1,c:3,b:2}
console.log(result1);//{a:1,c:3,b:2}
由些可见,Object.assign第二个对象会覆盖第一个对象上的值,并改变第一个对象的值
同理,如果存在多个对象,也是从后往前依次覆盖,第一个对象值被改变,其余位置的对象不会改变