码迷,mamicode.com
首页 > Web开发 > 详细

assign()-JS

时间:2019-11-25 11:33:20      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:声明   blog   mda   覆盖   遨游   ssi   tps   console   das   

------------恢复内容开始------------

现需要在js中,使用一个新的对象的值覆盖旧有对象,js中有一个方法:
Object.assign(target,…sources)
当target和sources对象中有相同的key时,在target对象中的值会被后面source对象的值覆盖。

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, target对象自身会被修改
1
2
3
4
5
6
7
如果想要避免o1被改变,需要这样写:

var obj = Object.assign({},o1,o2,o3);//给一个空对象作为target,这样改变的是空对象
console.log(obj);// { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1}
————————————————
版权声明:本文为CSDN博主「遨游奋飞」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35938548/article/details/79281795

------------恢复内容结束------------

assign()-JS

标签:声明   blog   mda   覆盖   遨游   ssi   tps   console   das   

原文地址:https://www.cnblogs.com/wjx6270/p/11926323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!