枚举类型

枚举类型

使用关键字 enum

1.数字枚举

enum Gender {
  Male = 0,
  Female = 1,
}
// 注意一:默认情况下,从0开始为元素编号
enum Gender1 {
  Male,
  Female,
}
// 注意二:增长枚举,定义Male为1,则Female自动为2,剩余的成员会从1开始自动增长
enum Gender2 {
  Male = 1,
  Female,
}

2.字符串枚举

// 注意:字符串枚举每个成员都要有初始值
enum Gender3 {
  Male = 'male',
  Female = 'female',
}

3.异构枚举,通俗点就是枚举可以混合字符串和数字成员

enum BooleanEnum {
  No = 0,
  Yes = 'YES',
}

4.联合枚举与枚举成员的类型

enum Gender4 {
  Male = 0,
  Female = 1,
}

interface Person {
  name: string;
  sex: Gender4;
}
let p: Person = {
  name: '张三',
  sex: Gender4.Male,
};

5.反向映射,即从枚举值到枚举名字

enum Gender5 {
  Male = 0,
  Female = 1,
}
let x: number = Gender5.Male;
let enumName = Gender5[x];

// 扩展:const枚举,即常量枚举,可以避免在额外生成的代码上的开销和额外的非直接的对枚举成员的访问
// 需要注意的是,不会为字符串枚举成员生成反向映射
const enum Enum {
    A = 1,
    B = A * 2
}

posted on   前端自信逐梦者  阅读(57)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示