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 }

你可能感兴趣的:(TypeScript,typescript,javascript,枚举类型,数字枚举)