有没有一种方法可以简化此表达式?
const car = { owner: 'john' }
const assets = { house: { owner: 'paul'}, car: car}
资产中的key
使用变量名car
,这是避免重新定义键名的一种方法吗?
类似这样的东西:
const assets = { house: { owner: 'paul'}, car}
谢谢!
答案 0 :(得分:0)
您的两种解决方案都可以使用。
const assets = { house: { owner: 'paul'}, car: car}
...与...完全相同...
const assets = { house: { owner: 'paul'}, car}
这些解决方案均不会重新定义变量car
。
第二个解决方案称为shorthand property definiton,仅在ES2015或更高版本中有效。
答案 1 :(得分:0)
是的,它可以工作,并且被称为shorthand property notation(ES6):
const car = {
owner: 'john'
}
const assets = {
house: {
owner: 'paul'
},
car
};
console.log(assets);
.as-console-wrapper { max-height: 100% !important; top: auto; }
请注意,这与扩展不同-速记属性将创建一个新对象,扩展(...
)只是直接附加属性:
const car = {
owner: 'john'
}
const assets = {
house: {
owner: 'paul'
},
...car
};
console.log(assets);
.as-console-wrapper { max-height: 100% !important; top: auto; }