请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

枚举问题

  • 老师好
	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,所以应该是字符串类型。

0 回复 有任何疑惑可以回复我~
  • 提问者 Brannua #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-16 11:57:51
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信