定义一些带名字的常量
反向映射
- 枚举是一个相互映射(赋值)的,比如数字枚举中up=1,调用时可以看到up=1,1也等于up
数字枚举
- 默认从0开始增加,定义了初始值,从初始值开始增加
- 使用:通过枚举的属性来访问枚举成员,和枚举的名字来访问枚举类型
1 | enum Direction{ |
字符串枚举
1 | enum Direction { |
异构枚举:既有数字枚举又有字符串枚举
1 | enum YIGOU { |
联合枚举与枚举成员的类型
- 数字、应用一元-符号的数字(如: -1)或字符串的字面量都是number,string的子集
- 比如字符串字面量枚举=String,但String !== 字符串字面量
运行时的枚举:可以在函数中运行,不单单去定义一个常量
1 | enum E { |
const 枚举:
- 定义后不会编译,直到使用到时才会被执行,且显示的结果为[值/属性名/],而普通枚举在定义后就编译了
1
2
3
4
5
6const enum Enum {
A = 1,
B = A * 2
}
let directions = [Enum.A, Enum.B]
var directions = [1 /* A */, 2 /* B */];
外部枚举:描述已经存在的枚举类型
1 | declare enum Enum { |
枚举映射元组
1 | const enumMap:IDirection = { |