我一直在寻找答案,但还没有找到答案。是否有可能动态包含/排除键的对象?
请考虑以下两个示例:
示例1
const name = 'Garrett'
const city = 'Miami'
const obj = {
name: name,
city: city
}
console.log(obj) // { name: 'Garrett', city: 'Miami' }
示例2
const name = 'Garrett'
const city = ''
const obj = {
name: name,
city?: city // Something like adding a "?"
}
console.log(obj) // { name: 'Garrett' }
如果city是一个空字符串,我根本不希望它存在于对象中。我知道我可以使用三进制,但是在那种情况下,键仍然在对象上,只是具有未定义的值,这是我不想要的。当然可以在创建对象后检查一下,但是如果在创建时有某种方法可以做,那似乎是一种浪费。