对象的合并和替换都可以使用ES6提供的Object.assign()函数,也可以使用ES6提供的...扩展运算符,两者都可以将相同属性的元素替换掉(前者替换后者),不相同属性的合并
1、使用扩展运算符
(1)、
var obj1 = { a : 1 };
var obj2 = { b : 2 };
var obj3 = { c : 3 };
{...obj1,...obj2,...obj3} //输出{ obj1 : 1, obj2 : 2, obj3 : 3 }
var obj4 = { a : 1, b : 2, c : 3 };
var obj5 = { a : 10, b : 20, c : 30 };
var obj6 = { a : 100, b : 200, c : 300 };
{ ...obj4, ...obj5, ...obj6 } //输出{ obj4 : 100, obj5 : 200, obj6 : 300 }var obj7 = { a : 1 };
var obj8 = { a : 10, b : 20 };
var obj9 = { b : 200, c : 300 };
{ ...obj7, ...obj8, ...obj9 } //输出{ obj7 : 10, obj8 : 200, obj9 : 300 }2、Object.assign()方法
Object.assign( obj1, obj2, obj3 ) //输出{ obj1 : 1, obj2 : 2, obj3 : 3 }
Object.assign( obj4, obj5, obj6 ) //输出{ obj4 : 100, obj5 : 200, obj6 : 300 }
Object.assign( obj7, obj8, obj9 ) //输出{ obj7 : 10, obj8 : 200, obj9 : 300 }