如何在打字稿中指定枚举的索引类型

piby180

考虑以下示例:

enum Color {
    Green = "green",
    Red = "red"

}

let index : keyof Color
index = "Green" 

console.log(Color[index])

错误

Type '"Green"' is not assignable to type 'number | "toString" | "charAt" | "charCodeAt" | "concat" | "indexOf" | "lastIndexOf" | "localeCompare" | "match" | "replace" | "search" | "slice" | "split" | "substring" | "toLowerCase" | ... 27 more ... | "padEnd"'.
Element implicitly has an 'any' type because expression of type 'number | "toString" | "charAt" | "charCodeAt" | "concat" | "indexOf" | "lastIndexOf" | "localeCompare" | "match" | "replace" | "search" | "slice" | "split" | "substring" | "toLowerCase" | ... 27 more ... | "padEnd"' can't be used to index type 'typeof Color'. No index signature with a parameter of type 'number' was found on type 'typeof Color'.

index变量必须是枚举Color的键的字符串版本。如何指定索引变量的类型?

特里

您应该使用let index: keyof typeof Color,因为Color它实际上是一个对象(各种字典),所以您首先需要使用来获取其类型typeof对于什么进行了深入的解释keyoftypeof做,有一个很好的问题和线索,解释它

enum Color {
    Green = "green",
    Red = "red"

}

let index: keyof typeof Color;
index = "Green" 

console.log(Color[index])

请参阅TypeScript Playground上的工作示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在打字稿中指定以下类型?

来自分类Dev

如何在打字稿中定义和使用枚举?

来自分类Dev

如何在打字稿中解构枚举值?

来自分类Dev

如何在打字稿中访问枚举的名称

来自分类Dev

如何在打字稿中获取枚举的值

来自分类Dev

如何在打字稿中定义对象类型的对象

来自分类Dev

如何在打字稿中声明地图类型?

来自分类Dev

如何在打字稿中提取函数的类型?

来自分类Dev

如何在打字稿中公开API返回的类型

来自分类Dev

如何在打字稿中检查数组的类型

来自分类Dev

如何在打字稿中键入以下对象/类型

来自分类Dev

如何在打字稿中使用函数参数类型?

来自分类Dev

如何在打字稿中将交点类型设为可选

来自分类Dev

如何在打字稿中导入类型?

来自分类Dev

如何在打字稿中获得“这个”类型

来自分类Dev

在打字稿中将枚举类型作为参数传递

来自分类Dev

如何在打字稿中声明一个公共枚举?

来自分类Dev

我应该如何在打字稿中进行枚举比较

来自分类Dev

如何在打字稿中按值获取枚举键?

来自分类Dev

如何在打字稿中使用通用类型和联合类型

来自分类Dev

如何在打字稿中区分类型和类型数组?

来自分类Dev

如何在打字稿(角度)的数组的特定索引处向对象添加属性?

来自分类Dev

我如何在打字稿中的嵌套for ... in循环中正确键入索引签名?

来自分类Dev

如何在打字稿中将索引集合编写为静态属性?

来自分类Dev

如何在打字稿的 for-in 循环中转换索引变量?

来自分类Dev

打字稿:在对象声明中指定类型

来自分类Dev

打字稿:在联合中指定多个回调类型

来自分类Dev

如何在打字稿中编写`Invert`类型以反转元组的顺序

来自分类Dev

如何在打字稿中的forEach下定义类型?

Related 相关文章

  1. 1

    如何在打字稿中指定以下类型?

  2. 2

    如何在打字稿中定义和使用枚举?

  3. 3

    如何在打字稿中解构枚举值?

  4. 4

    如何在打字稿中访问枚举的名称

  5. 5

    如何在打字稿中获取枚举的值

  6. 6

    如何在打字稿中定义对象类型的对象

  7. 7

    如何在打字稿中声明地图类型?

  8. 8

    如何在打字稿中提取函数的类型?

  9. 9

    如何在打字稿中公开API返回的类型

  10. 10

    如何在打字稿中检查数组的类型

  11. 11

    如何在打字稿中键入以下对象/类型

  12. 12

    如何在打字稿中使用函数参数类型?

  13. 13

    如何在打字稿中将交点类型设为可选

  14. 14

    如何在打字稿中导入类型?

  15. 15

    如何在打字稿中获得“这个”类型

  16. 16

    在打字稿中将枚举类型作为参数传递

  17. 17

    如何在打字稿中声明一个公共枚举?

  18. 18

    我应该如何在打字稿中进行枚举比较

  19. 19

    如何在打字稿中按值获取枚举键?

  20. 20

    如何在打字稿中使用通用类型和联合类型

  21. 21

    如何在打字稿中区分类型和类型数组?

  22. 22

    如何在打字稿(角度)的数组的特定索引处向对象添加属性?

  23. 23

    我如何在打字稿中的嵌套for ... in循环中正确键入索引签名?

  24. 24

    如何在打字稿中将索引集合编写为静态属性?

  25. 25

    如何在打字稿的 for-in 循环中转换索引变量?

  26. 26

    打字稿:在对象声明中指定类型

  27. 27

    打字稿:在联合中指定多个回调类型

  28. 28

    如何在打字稿中编写`Invert`类型以反转元组的顺序

  29. 29

    如何在打字稿中的forEach下定义类型?

热门标签

归档