螺竹编程
发布于 2024-05-27 / 4 阅读
0

TypeScript/集合:Enum

在 TypeScript 中,枚举(Enum)类型是一种方便的数据类型,用于定义一组命名的常量。枚举类型是一种抽象的数据类型,它将一组有限的常量映射到一些具有描述性名称的符号上。

例如,我们可以使用枚举类型来表示一周中的每一天:

enum Weekday {
  Monday,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday
}

在上面的例子中,我们定义了一个名为 Weekday 的枚举类型,它包含了一周中的每一天。每个常量都有一个默认的数字值,从 0 开始递增。因此,Monday 的值为 0,Tuesday 的值为 1,以此类推。

我们可以通过以下方式来使用这个枚举类型:

let today: Weekday = Weekday.Tuesday;

在上面的例子中,我们声明了一个名为 today 的变量,它的类型是 Weekday。我们将它的值赋为 Weekday.Tuesday,这样 today 变量的值就是 1。

枚举类型还支持指定常量的值:

enum Weekday {
  Monday = 1,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday
}

在上面的例子中,我们将 Monday 的值设置为 1,那么 Tuesday 的值就会自动设置为 2,以此类推。

枚举类型还支持反向映射,也就是可以通过枚举值获取枚举名称:

enum Weekday {
  Monday = 1,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday
}

let dayName = Weekday[2]; // "Tuesday"

在上面的例子中,我们通过枚举值 2 来获取了枚举名称 Tuesday

总之,枚举类型是 TypeScript 中非常有用的一种数据类型,可以方便地定义一组有限的常量,并且支持反向映射,使得代码更加易读和易维护。