采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
enum Color { Red = 1, Green = 5, Blue =7 } let c: Color = Color['Green']; console.log(c); let d: Color = Color[5]; console.log(d);
打印出 c 是 5, 可是 c 的类型注解不是 number 呀?
d 是 string 类型, 却由于它的类型注解为Color, 就报错了, 为什么 c 不报错, d却报错了?
c 的类型是枚举类型 Color,可以通过 Color['Green'] 去获取它的枚举值,枚举值可以是一个数字,当然你写 number 类型也不会错。而 Color[5] 找的是枚举字符串 key,所以应该是字符串类型。
非常感谢!
登录后可查看更多问答,登录/注册
课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!
1.3k 14
1.6k 13
1.4k 13
1.0k 13
1.5k 11