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

JavaScript中定义枚举的首选语法是什么?就像是:

my.namespace.ColorEnum = {

RED : 0,

GREEN : 1,

BLUE : 2

}

// later on

if(currentColor == my.namespace.ColorEnum.RED) {

// whatever

}

还是有更好的成语?

回答:

从1.8.5开始,可以密封和冻结对象,因此将以上定义为:

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

要么

const DaysEnum = {"monday":1, "tuesday":2, "wednesday":3, ...}

Object.freeze(DaysEnum)

和瞧!JS枚举。

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

let day = DaysEnum.tuesday

day = 298832342 // goes through without any errors

确保类型安全性(使用枚举或其他方式)的程度更高的一种方法是使用诸如TypeScript或Flow之类的工具。

不需要引号,但为了保持一致性,我保留了它们。

以上是 在JavaScript中定义枚举的首选语法是什么? 的全部内容, 来源链接: utcz.com/qa/398690.html

回到顶部