跳至内容

typescript/prefer-literal-enum-member 限制

它的作用是什么

明确的枚举值必须只能是字面值(字符串、数字、布尔值等)。

为什么这样做不好?

TypeScript 允许枚举成员的值是多种不同类型的有效 JavaScript 表达式。然而,由于枚举创建了自己的作用域,其中每个枚举成员都变为该作用域中的一个变量,因此开发者们经常会对最终值感到惊讶。

示例

ts
const imOutside = 2;
const b = 2;
enum Foo {
  outer = imOutside,
  a = 1,
  b = a,
  c = b,
}

参考资料

根据 MIT 许可证发布。