说说对 typescript 中枚举的理解?还有在实际场景中是如何使用?
J-DuYa opened this issue · comments
1. 枚举是什么?
枚举是一个对象所有值的集合。使用关键字 enum
进行定义。
2. 如何使用
枚举分为三种类型:数字枚举
、字符串枚举
和异构枚举
。
- 数字枚举
例如我们定义方向的上下左右可以如下定义:
enum Direction {
Up,
Down,
Left,
Right,
}
这时候没有被赋予值,那么它的数据类型默认为数字类型,从 0 开始。
如果想自己定义为某些数字值,可以如下定义:
enum Direction {
Up = 11,
Down,
Left,
Right,
}
- 字符串枚举
enum Direction {
Up = 'up',
Down = 'down',
Left = 'left',
Right = 'right',
}
第一个值什么为字符串之后,就不能与定义为数字值了,必须都是字符串类型。
- 异构枚举
即将数字枚举和字符串枚举结合起来混合起来使用,但是一旦定义字符类型之后,之后必须手动的赋予值,不然也会出错。
enum Direction {
Up = 1,
Down = 'down',
}
多处声明相同枚举,可以进行合并,但是不能重复申明枚举里面的值
3. 应用场景
可以根据后端返回的接口 code 定义,枚举进行接收。
可以根据错误场景定义不同的枚举值。