js中如何定义一个”枚举”类型

前言

Javascript1.8.5开始可以使用Object.freeze来冻结对象实现一个类似”枚举”类型。

实现代码如下:

/**
 * 时间:2019年8月18日
 * 前端教程: https://www.pipipi.net/ 
 */
var DaysEnum = Object.freeze({"monday":1, "tuesday":2, "wednesday":3, ...})

或者这样:

/**
 * 时间:2019年8月18日
 * 前端教程: https://www.pipipi.net/ 
 */
var DaysEnum = {"monday":1, "tuesday":2, "wednesday":3, ...}
Object.freeze(DaysEnum)

这就是js中的”枚举”!是不是很简单?

不过现在是2019年了,我们还可以使用const来定义对象。

完整代码

完整的实现代码如下:

/**
 * 时间:2019年8月18日
 * 前端教程: https://www.pipipi.net/ 
 */
var Status = Object.freeze({
    "Connecting":0,
    "Ready":1,
    "Loading":2,
    "Processing": 3
});

console.log(Status.Ready) // 1

console.log(Object.keys(Status)[Status.Ready]) // Ready
(0)
上一篇 2019年8月18日 下午3:44
下一篇 2019年8月18日 下午4:21

相关推荐

发表回复

登录后才能评论