怎样用JS模拟实现枚举
作者:浅笑· 时间:2024-04-22 12:48:38
前言
在当前的JavaScript中,并没有枚举这个概念,在某些场景中使用枚举更能保证数据的正确性,减少数据校验过程,下面就介绍一下JavaScript如何模拟实现枚举效果。
枚举主要特点
枚举值不能重复
不能被修改
实现
let days;
(function (days) {
days[days["Sunday"] = 0] = "Sunday";
days[days["Monday"] = 1] = "Monday";
days[days["Tuesday"] = 2] = "Tuesday";
days[days["Wednesday"] = 3] = "Wednesday";
days[days["Thursday"] = 4] = "Thursday";
days[days["Friday"] = 5] = "Friday";
days[days["Saturday"] = 6] = "Saturday";
})(days || (days = {}));
这个时候days对象基本实现了枚举效果,可以通过枚举值或索引去访问days对象,但枚举有个重要特别是不能被修改,这个时候days是可以随意修改的;可以通过Object.freeze函数让对象不改修改,重新导出一个不可以修改的对象,完整代码如下:
let days;
(function (days) {
days[days["Monday"] = 1] = "Monday";
days[days["Tuesday"] = 2] = "Tuesday";
days[days["Wednesday"] = 3] = "Wednesday";
days[days["Thursday"] = 4] = "Thursday";
days[days["Friday"] = 5] = "Friday";
days[days["Saturday"] = 6] = "Saturday";
days[days["Sunday"] = 0] = "Sunday";
})(days || (days = {}));
//导出可枚举对象
export EnumWeek = Object.freeze(days)
来源:https://www.cnblogs.com/qianxiaox/p/13744683.html
标签:js,枚举
0
投稿
猜你喜欢
python3 循环读取excel文件并写入json操作
2022-11-07 15:40:11
Study jQuery in a Simplified Way
2010-01-30 12:55:00
Python中getservbyport和getservbyname函数的用法大全
2023-04-14 09:02:38
Django之全局使用request.user.username的实例详解
2021-07-20 20:50:42
golang 防缓存击穿singleflight的实现
2024-05-09 09:55:23
JS实现文字放大效果的方法
2024-04-25 13:09:52
关于Python 中的时间处理包datetime和arrow的方法详解
2023-11-16 12:18:48
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2022-09-09 23:19:47
mysql免安装版配置步骤详解分享
2024-01-22 08:18:07
Python EOL while scanning string literal问题解决方法
2021-01-20 23:58:38
GoLang之go build命令的具体使用
2024-04-27 15:24:56
SQL server 视图(view)介绍
2024-01-19 17:52:06
mysql 队列 实现并发读
2024-01-14 21:16:26
详解Selenium-webdriver绕开反爬虫机制的4种方法
2023-09-21 03:30:46
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021-03-29 18:34:12
sql ROW_NUMBER()与OVER()方法案例详解
2024-01-12 21:34:32
Golang 统计字符串中数字字母数量的实现方法
2024-04-23 09:43:04
在IE浏览器下面指定表单编码方式
2009-10-02 16:47:00
python深度学习tensorflow安装调试教程
2021-06-28 23:03:51
window.top[_CACHE]实现多个jsp页面共享一个js对象
2023-07-18 09:25:14