示例代码如下:
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 也可以实现
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
一个就是和1楼一样,用展开符,
一个就是用
Object.assign()
两个都是 位置靠后的
覆盖
位置靠前 的相同属性。