示例代码如下:
a = {id:1,name:'abc',type:'def'};
b = {name:'mmm',type:'nnn'};
a = b;
js中有没有直接将a和b中共有的属性赋值,然后不同的不动?
示例代码如下:
a = {id:1,name:'abc',type:'def'};
b = {name:'mmm',type:'nnn'};
a = b;
js中有没有直接将a和b中共有的属性赋值,然后不同的不动?
有啊 es6
let a = { name: 'abc', type: 'def', id: 1 }
const b = { name: 'mmm', type: 'nnn' }
a = { ...a, ...b }
// log a = { name: 'mmm', type: 'nnn', id: 1 } 如果想要不同的覆盖效果,可以调换a, b的位置 或者你也可以理解 Map, Set 也可以实现
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
一个就是和1楼一样,用展开符,
一个就是用
Object.assign()
两个都是 位置靠后的
覆盖
位置靠前 的相同属性。