跳至主要內容

no-duplicate-enum-values

禁止重複的列舉成員值。

擴充 "plugin:@typescript-eslint/recommended" ESLint 設定 中啟用此規則。

雖然 TypeScript 支援重複的列舉成員值,但人們通常希望成員在同一個列舉中具有唯一值。重複的值可能會導致難以追蹤的錯誤。

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

在 Playground 中試用此規則 ↗

範例

此規則禁止定義具有多個初始化為相同值的成員的列舉。

此規則僅對使用字串或數字字面值初始化的列舉成員強制執行。此規則不會檢查未初始化或使用運算式初始化的成員。

enum E {
A = 0,
B = 0,
}
在 Playground 中開啟
enum E {
A = 'A',
B = 'A',
}
在 Playground 中開啟

選項

此規則無法設定。

何時不使用

在某些情況下,針對非常特定的使用案例包含重複的列舉成員可能會很有用。例如,在重新命名列舉成員時,有時保留舊名稱直到預定的重大變更可能會很有用。您可能會考慮針對這些特定情況使用 ESLint 停用註解,而不是完全停用此規則。

一般而言,如果您的專案有意重複列舉成員值,則可以避免使用此規則。

資源