当前位置: 首页 > article >正文

TypeScript - 枚举 - 数字枚举

什么是枚举

枚举就是有固定的元素的一个对象。
对象的元素可以直接列举出来。

什么是数字枚举

数字枚举,就是我们通俗意义上的枚举类型。
定义的元素是与数字一一对应的。

特点

默认从0开始,步长为1 递增
可以指定值,后面的以步长为1,递增

写一个看看

未指定值的

enum WEEK1 {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}
console.log(WEEK1)
console.log(WEEK1.MONDAY)
console.log(WEEK1[0],WEEK1['1'])
输出的结果 :
{
  '0': 'MONDAY',
  '1': 'TUESDAY',
  '2': 'WEDNESDAY',
  '3': 'THURSDAY',
  '4': 'FRIDAY',
  '5': 'SATURDAY',
  '6': 'SUNDAY',
  MONDAY: 0,
  TUESDAY: 1,
  WEDNESDAY: 2,
  THURSDAY: 3,
  FRIDAY: 4,
  SATURDAY: 5,
  SUNDAY: 6
}
0
MONDAY TUESDAY

手动指定了值的

enum WEEK2 {
    MONDAY,
    TUESDAY,
    WEDNESDAY = 300,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}
console.log(WEEK2)
输出的结果:
{
  '0': 'MONDAY',
  '1': 'TUESDAY',
  '300': 'WEDNESDAY',
  '301': 'THURSDAY',
  '302': 'FRIDAY',
  '303': 'SATURDAY',
  '304': 'SUNDAY',
  MONDAY: 0,
  TUESDAY: 1,
  WEDNESDAY: 300,
  THURSDAY: 301,
  FRIDAY: 302,
  SATURDAY: 303,
  SUNDAY: 304
}

枚举的常数项

常数项 : 就是枚举的值是一个固定的常数值。
如上面定义的都是常数项。

枚举的计算所得项

计算所得项 : 枚举的项的值,是通过计算得出来的,不是直接赋值的。
计算所得项后面的枚举项,必须手动赋值,不可以自动递增,
因为计算所得项的值在初始化的时候还计算不出来。

enum COLOR{
    RED,
    BLUE = "blue".length, // 计算所得项,后面的元素必须手动赋值
    GREEN = 11
}
console.log(COLOR)
输出结果:
{ '0': 'RED', '4': 'BLUE', '11': 'GREEN', RED: 0, BLUE: 4, GREEN: 11 }

http://www.kler.cn/a/108604.html

相关文章:

  • 高级java每日一道面试题-2024年11月06日-JVM篇-什么是 Class 文件? Class 文件主要的信息结构有哪些?
  • 实验5:网络设备发现、管理和维护
  • 4-6-2.C# 数据容器 - ArrayList 扩展(ArrayList 注意事项、ArrayList 存储对象的特性、ArrayList 与数组的转换)
  • 基于Spring Boot与Redis的令牌主动失效机制实现
  • sol机器人pump机器人如何实现盈利的?什么是Pump 扫链机器人?
  • 详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
  • 股票价格预测 | 融合CNN和Transformer以提升股票趋势预测准确度
  • [Machine Learning] 领域适应和迁移学习
  • 基于RK3568高性价比全国产EMS储能解决方案(一)概述
  • 高阶数据结构图下篇
  • c++和java中关于类的第几部分详解
  • Golang WebSocket 创建单独会话
  • 【MySQL】并发事务产生的问题及事务隔离级别
  • 0028Java程序设计-智能农场监控报警系统设计与实现
  • 私有云:【8】VCenter安装Connection服务
  • Linux-sdio接口
  • 全志T113-S3 裸机SMHC eMMC读写问题记录
  • python:使用Scikit-image对遥感影像进行傅里叶变换特征提取(fourier)
  • C#使用mysql-connector-net驱动连接mariadb报错
  • 【MATLAB源码-第62期】基于蜣螂优化算法(DBO)的无人机三维地图路径规划,输出最短路径和适应度曲线。
  • Docker 启动远程服务访问不了
  • SpringMVC学习
  • Android 13 - Media框架(12)- MediaCodec(二)
  • 漏洞复现-dedecms文件上传(CVE-2019-8933)
  • AcWing第 127 场周赛 - AcWing 5283. 牛棚入住+AcWing 5284. 构造矩阵 - 模拟+快速幂+数学
  • SAP从入门到放弃系列之QM动态修改(Dynamic Modification)