assign()-JS

Posted IT小白6270

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了assign()-JS相关的知识,希望对你有一定的参考价值。

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

现需要在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的主要内容,如果未能解决你的问题,请参考以下文章

TP6 assign json 给模板使用

tf.assign,tf.assign_add,tf.assign_sub

verilog中assign 是啥意思

使用 TypeScript 和 Object.assign 给我一个错误“属性 'assign' 在类型 'ObjectConstructor' 上不存在”

Object.assign() 之 IE 兼容 (TypeError: 对象不支持“assign”属性或方法)

Babel Preset 在 IE11 上不为 Object.assign 提供支持 - “对象不支持属性或方法‘assign’”