• 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'])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    输出的结果 :
    {
      '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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    手动指定了值的

    enum WEEK2 {
        MONDAY,
        TUESDAY,
        WEDNESDAY = 300,
        THURSDAY,
        FRIDAY,
        SATURDAY,
        SUNDAY
    }
    console.log(WEEK2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    输出的结果:
    {
      '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
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    枚举的常数项

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

    枚举的计算所得项

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

    enum COLOR{
        RED,
        BLUE = "blue".length, // 计算所得项,后面的元素必须手动赋值
        GREEN = 11
    }
    console.log(COLOR)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    输出结果:
    { '0': 'RED', '4': 'BLUE', '11': 'GREEN', RED: 0, BLUE: 4, GREEN: 11 }
    
    • 1
    • 2
  • 相关阅读:
    图解曲线积分的对称性
    ExoPlayer架构详解与源码分析(4)——整体架构
    ASO优化含义篇:积分墙是什么?
    计算机网络(59)
    【AXI】解读AXI协议事务属性(Transaction Attributes)
    CSS 笔记
    桥接模式-C++实现
    java基于springboot+vue网上图书商城 销售+借阅两种模式 nodejs前后端分离
    【C++】obj模型文件解析(tiny_obj_loader)
    ERP管理系统的运作流程是怎样的?
  • 原文地址:https://blog.csdn.net/qq_39505245/article/details/134097924