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 }