TypeScript(六):枚举 enum

  • 枚举默认是从 0 开始递增
// 枚举默认是从 0 开始递增
enum Direction {
  Up,
  Down,
  Left,
  Right,
}
console.log(Direction.Up); // 0
  • 如果有赋值数字,后面的直会自动递增
enum Direction {
  Up = 10,
  Down,
  Left,
  Right,
}
console.log(Direction.Down); // 11
  • 常量枚举,在枚举前面加上 const,就是常量枚举
    常量枚举可以大大提升性能,减少大部分的判断和编译后的代码量,但是,只有常量值,才可以用常量枚举,如果是计算值,就不能够用常量枚举。
// 常量枚举
const enum Direction {
  Up = 'UP',
  Down = 'DOWN',
  Left = 'LEFT',
  Right = 'RIGHT',
}
const value = 'UP'
if (value === Direction.Up) {
  console.log('go up!')
}

一般的使用示例:

enum Status {
  ERROR,
  SUCCESS,
  WARN,
}
console.log(Status.ERROR, Status[0]); // 0 ERROR

function handleStuts(params: Status) {
  if (params === Status.ERROR) {
    console.log('error');
  } else if (params === Status.SUCCESS) {
    console.log('success');
  } else if (params === Status.WARN) {
    console.log('warn');
  } else {
    console.log('参数不对');
  }
}

handleStuts(Status.ERROR); // error
handleStuts(1); // success

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容