Object.assign()用法

Object.assign()用于将可枚举的属性的值由源对象复制到一个目标对象中去。
何为可枚举属性?对象中的可枚举属性和不可枚举属性是由属性的enumerable值决定的,enumerable值为false则为不可枚举。js中基本包装类型的原型属性是不可枚举的,如Object,Array,Number等。
Object.assign()接受多个参数,第一个参数为目标对象,第二个及之后的参数为源对象。
例:

	var obj1 = {a:1, b:2};
	var obj2 = {c:3, d:4};
	var obj = Object.assign(obj1, obj2); // {a:1,b:2,c:3,d:4};
	console.log(obj1); // {a:1,b:2,c:3,d:4};

可以看到通过这个方法,目标对象也被改变了。除了可以合并对象外,这个方法还可以过滤重复属性。

	var obj1 = {a:1, b:2, c:3};
	var obj2 = {c:3, a:4};
	console.log(Object.assign({},obj1,obj2)); // {a:4,b:2,c:3};

通过上面可以发现,若合并的对象具有相同属性,则会被后续参数的相同属性覆盖。

你可能感兴趣的:(Object.assign()用法)