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 中開啟enum E {
A = 0,
B = 1,
}
在 Playground 中開啟enum E {
A = 'A',
B = 'B',
}
在 Playground 中開啟選項
此規則無法設定。
何時不使用
在某些情況下,針對非常特定的使用案例包含重複的列舉成員可能會很有用。例如,在重新命名列舉成員時,有時保留舊名稱直到預定的重大變更可能會很有用。您可能會考慮針對這些特定情況使用 ESLint 停用註解,而不是完全停用此規則。
一般而言,如果您的專案有意重複列舉成員值,則可以避免使用此規則。