怎样用JS模拟实现枚举
在当前的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)
以上就是怎样用JS模拟实现枚举的详细内容,更多关于JS的资料请关注好吧啦网其它相关文章!
相关文章:
1. Django model重写save方法及update踩坑详解2. django创建css文件夹的具体方法3. jsp网页实现贪吃蛇小游戏4. IntelliJ IDEA导入项目的方法5. ASP中实现字符部位类似.NET里String对象的PadLeft和PadRight函数6. .NET SkiaSharp 生成二维码验证码及指定区域截取方法实现7. MyBatis JdbcType 与Oracle、MySql数据类型对应关系说明8. CentOS邮件服务器搭建系列—— POP / IMAP 服务器的构建( Dovecot )9. phpstudy apache开启ssi使用详解10. 存储于xml中需要的HTML转义代码
