【发布时间】:2021-03-09 04:13:20
【问题描述】:
function test(data){
console.log(data)
}
test({comments: 'hi', eat: true, sleep: true})
在测试函数中,我确定会出现comment参数,而对于其他参数,属性可能是动态的,但值是布尔类型的,
test({comments: 'hi', drink: true, sleep: true})
考虑到这种情况,我应该如何正确输入数据? 我尝试过类似的方法,但似乎不对
function(data: {data: {comments: string, [key: string]: boolean})
【问题讨论】:
-
是的。我只是想安慰。编辑了问题
-
然后是问题,“我给参数
data赋予什么类型,它应该是一个对象,它至少有一个名为comments的字符串类型的属性,但它可能有很多我不关心的其他属性”? -
是的..我不关心其他属性..
-
如果您不关心其他属性,那么
type DataType = { comments: string; [key: string]: unknown; };将起作用。参考:stackoverflow.com/a/33860616 -
对,对,你的问题确实不同(而且很酷)。看起来十字路口类型有潜力,但不足。更多信息在这里:github.com/microsoft/TypeScript/issues/20597.
标签: javascript typescript