TypeScript 扩展类型-枚举 看这一篇就够了

133 阅读1分钟

扩展类型-枚举

扩展类型:类型别名、枚举、接口、类

枚举通常用于约束某个变量的取值范围。

字面量和联合类型配合使用,也可以达到同样的目标。

字面量类型的问题

  • 在类型约束位置,会产生重复代码。可以使用类型别名解决该问题。
  • 逻辑含义和真实的值产生了混淆,会导致当修改真实值的时候,产生大量的修改。
  • 字面量类型不会进入到编译结果。

枚举

如何定义一个枚举:

enum 枚举名{
    枚举字段1 = 值1,
    枚举字段2 = 值2,
    ...
}

枚举会出现在编译结果中,编译结果中表现为对象。

枚举的规则:

  • 枚举的字段值可以是字符串或数字
  • 数字枚举的值会自动自增
  • 被数字枚举约束的变量,可以直接赋值为数字
  • 数字枚举的编译结果 和 字符串枚举有差异

最佳实践:

  • 尽量不要在一个枚举中既出现字符串字段,又出现数字字段
  • 使用枚举时,尽量使用枚举字段的名称,而不使用真实的值

案例

enum Level {
    level1,
    level2,
    level3
}

let l: Level = Level.level1;
l = Level.level2;

console.log(l);

function getUsers(lev:Level){

}

学习整理,侵权联系删除,感谢阅读,希望对大家有帮助!