1、基本使用
enum color {
red,
blue,
green
}
console.log(color.red, color[0]) // 0 'red'
console.log(color.blue, color[1]) // 1 'blue'
console.log(color.green, color[2]) // 2 'green'
这是一个数字枚举,他的值是从0开始递增的,所以打印出的是0,1,2。
他可以反向映射,所以color[0]是red。
如果给一个默认值,就会从默认值开始递增
enum color {
red,
blue = 9,
green
}
console.log(color.red, color[0]) // 0 'red'
console.log(color.blue, color[9]) // 9 'blue'
console.log(color.green, color[10]) // 10 'green'
也可以全部都手动赋值
enum color {
red = -1,
blue = 9,
green = 999
}
console.log(color.red, color[-1]) // -1 'red'
console.log(color.blue, color[9]) // 9 'blue'
console.log(color.green, color[999]) // 999 'green'
也可以定义字符串枚举,提高代码可读性
enum color {
red = 'red',
blue = 'blue',
green = 'green'
}
console.log(color.red, color[red]) // 'red' 'red'
console.log(color.blue, color[blue]) // 'blue' 'blue'
console.log(color.green, color[green]) // 'green' 'green'
2、常量枚举
使用const定义常量枚举,可以提高性能
const enum color {
red = 'red',
blue = 'blue',
green = 'green'
}
console.log(color.red, color[red]) // 'red' 'red'
console.log(color.blue, color[blue]) // 'blue' 'blue'
console.log(color.green, color[green]) // 'green' 'green'