1. 数字枚举:
最简单的枚举类型,每个成员都有一个关联的数字值,默认从0开始递增。
enum Direction {
Up,
Down,
Left,
Right,
}
let up: Direction = Direction.Up;
let down: Direction = Direction.Down;
2. 字符串枚举:
每个成员都有一个关联的字符串值。
enum Color {
Red = "RED",
Green = "GREEN",
Blue = "BLUE",
}
let red: Color = Color.Red;
3. 异构枚举:
枚举可以包含数字和字符串值,但不建议混合使用。
enum Result {
Success = 1,
Error = "ERROR",
}
4. 常数枚举:
使用 const 修饰符定义的枚举,在编译阶段被删除,并且不能包含计算值。
const enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
}
let day: Weekday = Weekday.Monday;
5. 反向映射:
枚举成员名字到值的映射和值到名字的映射。
enum Direction {
Up,
Down,
Left,
Right,
}
console.log(Direction.Up); // 输出: 0
console.log(Direction[0]); // 输出: "Up"
6. 常量成员和计算成员:
枚举成员可以是常量或者计算值。
enum FileAccess {
Read = 1,
Write = 2,
ReadWrite = Read | Write,
}
7. 枚举成员类型和联合枚举:
枚举成员可以作为类型使用,并且可以形成联合类型。
enum ShapeKind {
Circle,
Square,
}
interface Circle {
kind: ShapeKind.Circle;
radius: number;
}
interface Square {
kind: ShapeKind.Square;
sideLength: number;
}
let circle: Circle = { kind: ShapeKind.Circle, radius: 10 };
let square: Square = { kind: ShapeKind.Square, sideLength: 5 };
这些是 TypeScript 中枚举的一些基本概念和用法。枚举是一种有助于提高代码可读性的数据类型,特别适用于表示一组相关的命名常量。
转载请注明出处:http://www.zyzy.cn/article/detail/4699/TypeScript