在 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 中非常有用的一种数据类型,可以方便地定义一组有限的常量,并且支持反向映射,使得代码更加易读和易维护。