js Object.assign用法总结

用于对象赋值

可以传入多个对象用于合并,同一个属性key,后传入的对象的value会覆盖前面的。

example

let obj1 = {key1: 1, dupkey: 999};
let obj2 = {key2: 2, dupkey: 888};

let obj = Object.assign(obj1, obj2);
console.log(obj);
//{key1: 1, dupkey: 888, key2: 2}
console.log(obj1);
//{key1: 1, dupkey: 888, key2: 2}

也就是说,assign不仅会返回合并后的多个对象,还会对传入的第一个对象进行覆盖。

所以如果需要不覆盖原有参数,两种写法:

let obj1 = {key1: 1};
let obj2 = {key2: 2};
let obj = Object.assign({}, obj1, obj2);
console.log(obj);
//{key1: 1, key2: 2}
console.log(obj1);
//{key1: 1}
let obj1 = {key1: 1};
let obj2 = {key2: 2};
let obj = {};
Object.assign(obj, obj1, obj2);
console.log(obj);
//{key1: 1, key2: 2}
console.log(obj1);
//{key1: 1}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容