1. Object.assign()方法可以把任意多個(gè)的源對(duì)象自身的可枚舉屬性拷貝給目標(biāo)對(duì)象,然后返回目標(biāo)對(duì)象。
2. 語(yǔ)法
Object.assign(target, ...sources);
var copy=Object.assign({},{a:1},{b:2});
var copy1=Object.assign({},{a:1},{a:2});
console.log(copy);// { a: 1,b:2 };
console.log(copy1);// { a: 2};
形同屬性會(huì)被后面的覆蓋。?
3. 兼容性
4. 深度拷貝
需要使用其他方法,因?yàn)?Object.assign() 拷貝的是屬性值。假如源對(duì)象的屬性值是一個(gè)指向?qū)ο蟮囊茫仓豢截惸莻€(gè)引用值。
最簡(jiǎn)便的深度拷貝方式:JSON.parse(JSON.stringify(obj));
5. 原文地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign