Typescript高级技巧 - 通过索引访问类型

已有已知类型,通过索引创建新类型是很方便的,下面介绍几种用法,假设我们已有下面的颜色类型:

接下来我们通过索引类创建几种类型:

通过单值创建类型:

通过联合类型(Union Types)创建类型:

它创建出来的也是联合类型。

通过 keyof 创建联合类型

它将包括所有可能的值组成的联合类型。

我们也可以通过数字索引来创建类型,假设我们有如下元组类型:

通过数组下标 (0,1) 创建类型

通过 number 关键字创建类型

它将便利所有元组中的类型,并将他们组合成一个新类型。

最后,我们来看一个把这两种组合起来使用的情况:

假设我们有这些动物的配置文件:

现在我们需要创建一个Action的联合类型,它要包括所有动物可能的动作,怎么写呢?

AnimalActionConfig[keyof AnimalActionConfig][number]

首先,我们使用keyof遍历每一个config项,接着我们使用number来获取其中所有的动作,最后typescript会聪明的将他们组合在一起,形成一个新的联合类型,实现了我们想要的效果。

感谢阅读!欢迎转发,关注!

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章