为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中定义枚举的首选语法是什么?

在JavaScript中定义枚举的首选语法是什么?

慕的地8271018 2019-07-27 14:45:47
在JavaScript中定义枚举的首选语法是什么?在JavaScript中定义枚举的首选语法是什么?就像是:my.namespace.ColorEnum = {     RED : 0,     GREEN : 1,     BLUE : 2}// later onif(currentColor == my.namespace.ColorEnum.RED) {    // whatever}还是有更优选的成语?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

由于1.8.5可以密封和冻结对象,因此将上面定义为:

var DaysEnum = Object.freeze({"monday":1, "tuesday":2, "wednesday":3, ...})

要么

var DaysEnum = {"monday":1, "tuesday":2, "wednesday":3, ...}Object.freeze(DaysEnum)

瞧!JS枚举。

注意:我在2011年写了它,但它是2019年 - 用于const防止覆盖你的枚举词典。

但是,这并不会阻止您为变量分配不需要的值,这通常是枚举的主要目标:

let day = DaysEnum.tuesday
day = 298832342 // goes through without any errors

确保更强的类型安全性(使用枚举或其他方式)的一种方法是使用TypeScriptFlow等工具。

资源

不需要引用,但我保持它们的一致性。


查看完整回答
反对 回复 2019-07-27
?
红颜莎娜

TA贡献1842条经验 获得超13个赞

这不是一个很好的答案,但我会说,个人工作得很好

话虽如此,因为值是什么并不重要(你使用了0,1,2),我会使用一个有意义的字符串,以防你想输出当前值。


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 636 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号