TypeScript 枚举
最后修改于 2025 年 2 月 24 日
TypeScript 枚举是定义一组命名常量的语法。它们有助于提高代码的可读性和可维护性。本文通过实际示例涵盖了 TypeScript 枚举的创建、操作和常见用法。
TypeScript 枚举是定义一组命名常量的语法。它们使用 enum
关键字进行定义。
定义枚举
此示例演示了如何在 TypeScript 中定义枚举。
defining_enums.ts
enum Colors { Red, Green, Blue } console.log(Colors.Red); // Output: 0 console.log(Colors.Green); // Output: 1 console.log(Colors.Blue); // Output: 2
枚举可以使用 enum
关键字加上一组命名常量来定义。第一个常量被赋值为 0,后续每个常量的值会递增 1。
枚举成员
枚举成员可以显式赋值。
enum_members.ts
enum Colors { Red = 1, Green, Blue } console.log(Colors.Red); // Output: 1 console.log(Colors.Green); // Output: 2 console.log(Colors.Blue); // Output: 3
在此示例中,Red
成员被显式赋值为 1。Green
和 Blue
成员的赋值是从前一个成员递增而来。
枚举类型
枚举成员可以用作类型。
enum_types.ts
enum Colors { Red, Green, Blue } let color: Colors = Colors.Red; console.log(color); // Output: 0
枚举成员可用作变量的类型。在此示例中,color
变量被赋值为 Colors.Red
。
枚举常量
枚举常量可以通过其名称访问。
enum_constants.ts
enum Colors { Red, Green, Blue } console.log(Colors[0]); // Output: "Red" console.log(Colors[1]); // Output: "Green" console.log(Colors[2]); // Output: "Blue"
枚举常量可以通过其索引访问。
计算枚举成员
枚举成员可以被计算。
computed_enum_members.ts
enum Colors { Red = 1, Green = 2, Blue = 4 } console.log(Colors.Red | Colors.Green); // Output: 3
在此示例中,Blue
成员被显式赋值为 4。Red
和 Green
成员的赋值是从前一个成员递增而来。使用按位或运算符组合枚举成员。
使用枚举的最佳实践
- 使用枚举定义命名常量: 当处理命名常量时,使用枚举可以提高代码的可读性和可维护性。
- 显式赋值枚举成员: 显式赋值枚举成员以确保值具有可预测性。
- 将枚举成员用作类型: 枚举成员可以被用作变量的类型。
- 使用枚举常量: 枚举常量可以通过其名称访问。
- 处理边缘情况: 始终检查边缘情况,例如无效的枚举成员。
来源
在本文中,我们探索了 TypeScript 枚举,并通过实际示例演示了其用法。