我有以下类型:
type MyKeys = 'foo' | 'bar' | 'baz'
我想定义一个类型为MyKeys
的键,但是还要用更多键扩展它,例如:
type FooType = {
[key in MyKeys]: boolean
quux: boolean // <--- Error: '}' expected.ts(1005)
}
如何同时使用通用密钥和显式密钥名称?
答案 0 :(得分:2)
您可以使用Intersection Type:
type FooType = {[key in MyKeys]: boolean} & {
quux: boolean
}
如@jcalz所述 或,您也可以使用Record<>
:
Record<MyKeys | 'quux', boolean>
相当于: