TypeScript中的枚举(Enum)类型是一种为一组相关的常量值提供命名和组织方式的数据结构。枚举允许开发者定义一个由一组命名的常量组成的集合,这些常量可以代表一组固定的值,比如一周中的天、方向、错误代码等,从而提高代码的可读性和可维护性。
enum
关键字定义枚举,可以为每个枚举成员分配一个数值或字符串值。如果没有指定值,TypeScript会自动为枚举成员分配递增的数字值,从0开始。访问枚举成员:通过枚举名称和成员名称来访问枚举值,如Days.Mon
或Directions.Up
。
反向映射:TypeScript枚举自动为每个枚举成员生成一个反向映射,允许你通过值查找对应的枚举成员名称。例如,Days[0]
会得到Sun
。
常量枚举:使用const enum
定义的枚举在编译时会被内联替换,不会生成独立的枚举对象,可以进一步提高性能和代码体积的优化。
异构枚举:TypeScript支持混合使用字符串和数字作为枚举成员的值,但通常推荐保持枚举成员值类型的一致性以避免混淆。
计算成员:枚举成员的值可以是计算出来的,只要该计算在编译时能确定。
总之,TypeScript中的枚举类型通过提供一种结构化的、类型安全的方式来定义和使用固定集的值,提升了代码的清晰度和健壮性。