枚举类型
使用枚举 通过enum关键字定义我们的枚举
数字枚举
enum Types {
Red,
Green,
Blue
}
红绿蓝 Red = 0 Green = 1 Blue= 2 分别代表红色0 绿色为1 蓝色为2 默认就是从0开始的
增长枚举
enum Types {
Red = 1,
Green,
Blue
}
定义了一个数字枚举, Red使用初始化为 1。 其余的成员会从 1开始自动增长。 换句话说, Type.Red的值为 1, Green为 2, Blue为 3。
字符串枚举
enum Types {
Red = 'red',
Green = 'green',
Blue = 'blue'
}
异构枚举
枚举可以混合字符串和数字成员
enum Types{
No = 'No',
Yes = 1,
}
接口枚举
enum Types {
name,
age
}
interface A {
name: Types.name
}
let obj: A = {
name: Types.name
}
const枚举
let和var都是不允许的声明只能使用const
const enum Types{
No = 'No',
Yes = 1,
}
const 声明的枚举会被编译成常量
反向映射
它包含了正向映射( name -> value)和反向映射( value -> name)
要注意的是 不会为字符串枚举成员生成反向映射。
enum Enum {
fall
}
const a = Enum.fall
console.log(a)
const name = Enum[a]
console.log(name)