繁体   English   中英

具有通用键和常规键的Typescript对象?

[英]Typescript object with generic keys and regular keys?

我有以下类型:

type MyKeys = 'foo' | 'bar' | 'baz'

我想定义一个类型为MyKeys键的类型,但还要用更多键扩展它,例如:

type FooType = {
  [key in MyKeys]: boolean
  quux: boolean   // <--- Error: '}' expected.ts(1005)
}

如何同时使用通用密钥和显式密钥名称?

您可以使用交叉点类型

type FooType = {[key in MyKeys]: boolean} & {
  quux: boolean
}

@jcalz提到的,您也可以使用Record<>

Record<MyKeys | 'quux', boolean>

相当于:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM