[英]es6 spread operator not combining keyed objects
我想建立一个带键对象的对象。
为什么散布运算符未按以下用法进行合并? 相反,它仅保留第二个对象。
let a = { key1: { floo: 'blar' } } let b = { key2: { floo: 'blar' } } console.log(...a, b);
最重要的是,请告诉我正确的方法!
谢谢
它应该是
console.log({...a, ...b});
上面将合并两个对象,并分别创建一个新的对象,其中key1
和key2
。 另外,请注意,对象的散布运算符与Object.assign()
工作方式不同。
请注意,合并的对象只是一个引用。 例如,修改对象的值,例如
a.key1.floo = 'someotherval';
将改变a
对象,并在合并的对象中反映出来。
有关更多信息,请参见在对象文字中传播部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.