es6 javascript对象方法object.assign();
object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)
object.assign方法的第一个参数是目标对象,后面的参数都是源对象;
let target = {a:1};
let source1={b:2};
let source2={c:3};
Object.assign(target,source1,source2);
target //{a:1,b:2,c:3}
如果只有一个参数,Object.assign会直接返回该参数
let obj={a:1};
Object.assign(obj)===obj//true
如果该参数不是对象,则会先转成对象,然后返回;
typeof Object.assign(2) //"Object"
注意:
对于嵌套对象,一旦遇到同名属性,Object.assign的处理方法是替换,而不是添加;
let target = {a:{b :'c',d:'e'}}
let source ={a:{b:'hello'}}
Object.assign(target,source)
结果为//{a:{b:'hello'}}