进入正题前,大家有没有碰见过类似的情况
switch (type) {
case 1:
break;
caes 2:
...
case 5:
}
当你第一写的时候或许能清楚地记得,但是过一两天回来再看,或者有迭代的时候。
有人说了注释,确实注释是个好的做法, 注释好比是两个人的沟通,有时候注释很清楚地理解,有时候则可能理解不到位。
进入正题
enum Direction {
Up = 1,
Down,
Left,
Right
}
从1 开始 1 2 3 4 上 下 左 右
使用的时候 Direction.Down
不具有初始化函数并且之前的枚举成员是常数。 在这种情况下,当前枚举成员的值为上一个枚举成员的值加1。 但第一个枚举元素是个例外。 如果它没有初始化方法,那么它的初始值为0
当然也可以完全自己赋值
反向映射
枚举是在运行时真正存在的一个对象。 其中一个原因是因为这样可以从枚举值到枚举名进行反向映射。
enum Enum {
A
}
let a = Enum.A;
let nameOfA = Enum[a]; // "A"
外部枚举
declare enum Directions {Up, Down, Left, Right}
文章来源: typescript【四】枚举的学习