目 录CONTENT

文章目录

TS(四)枚举类型

Typescript 枚举

数字枚举

当数字枚举没有指定值时,默认从0开始递增

enum Status {
  "删除",
  "新增",
  "更新",
}

console.log(Status.删除); //0
console.log(Status.新增); //1
console.log(Status.更新); //2

指定了具体的值

enum Status {
  "删除",
  "新增" = 300,
  "更新",
}

console.log(Status.删除);
console.log(Status.新增);
console.log(Status.更新);

//0
//300
//301

注意

数字枚举要是使用了计算值或者常量,那后面必须设置初始值

const Status = 1; //因为使用了常量

enum Index {
  a = Status,
  b, //error枚举成员必须要具有初始化值
  c,
}

const getValue = () => {
  return 0;
};

enum Index2 {
  a = getValue(),
  b = 1,
  c,
}

反向映射

反向映射是指,枚举成员的值可以反向映射到枚举成员的名称 仅仅支持数字枚举.字符串枚举不支持

enum Status {
  Success = 200,
  NotFound = 404,
  Error = 500,
}

console.log(Status[200]); //'Success'
cosnole.log(Status[Status["Success"]]); // 'Success'

字符串枚举

字符串枚举要求每个字段的值 都必须是字符串字面量

enum Message {
  Error = "Sorry,error",
  Success = "Great,success",
}

console.log(Message.Error); // 'Sorry,error'

其他例子

enum Message {
  Error = "error message",
  ServerError = Error,
  ClientError = Error,
}

console.log(Message.ServerError); //error message
console.log(Message.ClientError); //error message

既有数字又有字符串的枚举

enum Result {
  Faild = 0,
  Success = "Success",
}
0
博主关闭了当前页面的评论