跳至主要内容

禁止枚举值重复

禁止枚举成员值重复。

"plugin:@typescript-eslint/recommended" 中扩展 ESLint 配置 会启用此规则。

虽然 TypeScript 支持枚举成员值重复,但人们通常期望成员在同一个枚举中具有唯一的值。重复的值会导致难以追踪的错误。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-duplicate-enum-values": "error"
}
};

在游乐场中尝试此规则 ↗

示例

此规则禁止定义具有多个初始化为相同值的成员的枚举。

此规则仅对使用字符串或数字字面量初始化的枚举成员强制执行。没有初始化器或使用表达式初始化的成员不会被此规则检查。

enum E {
A = 0,
B = 0,
}
在游乐场中打开
enum E {
A = 'A',
B = 'A',
}
在游乐场中打开

选项

此规则不可配置。

何时不使用它

在某些情况下,包含重复的枚举成员可能是有用的。例如,在重命名枚举成员时,在计划的重大版本变更之前保留旧名称可能是有用的。您可以考虑使用 ESLint 禁用注释 来处理这些特定情况,而不是完全禁用此规则。

一般来说,如果您的项目有意重复枚举成员值,您可以避免使用此规则。

资源