typescript【四】枚举的学习

进入正题前,大家有没有碰见过类似的情况

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}

外部枚举可以参考
https://jkchao.github.io/typescript-book-chinese/typings/ambient.html#%E5%A3%B0%E6%98%8E%E6%96%87%E4%BB%B6

文章来源: typescript【四】枚举的学习