枚举问题
来源:3-1 基础类型(上)

Brannua
2020-06-15
- 老师好
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却报错了?
写回答
1回答
-
c 的类型是枚举类型 Color,可以通过 Color['Green'] 去获取它的枚举值,枚举值可以是一个数字,当然你写 number 类型也不会错。
而 Color[5] 找的是枚举字符串 key,所以应该是字符串类型。012020-06-16
相似问题