采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
enum Color { Red, // 0 Green, // 1 Blue // 2 } let c: Color = Color.Blue let d: Color = Color[2] console.log(typeof c, c) // 2 console.log(typeof d, d) // 报错:不能将类型“string”分配给类型“Color” ts(2322)
Color[2] 访问的是 Blue 字符串,当然会报错了,你可以 Color['Blue'] 或者 Color[Color[2]] 都是可以的
非常感谢!
老师,能不能说得更详细一些,我也有这个疑问。类比一下,为什么let c: Color = Color.blue不会报错呢?那Color.blue访问的是2这个数值吧?为什么这里就能把定义为Color类型的变量c赋值为2呢?
建议你看看枚举编译后的结果,就知道了,枚举默认从 0 开始的。
登录后可查看更多问答,登录/注册
课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!
1.6k 14
1.9k 13
1.7k 13
1.4k 13
1.8k 11
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号