什么是枚举
枚举就是有固定的元素的一个对象。
对象的元素可以直接列举出来。
什么是数字枚举
数字枚举,就是我们通俗意义上的枚举类型。
定义的元素是与数字一一对应的。
特点
默认从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 }