prefer-enum-initializers
各列挙型メンバーの値が明示的に初期化されることを要求します。
💡
このルールで報告されるいくつかの問題は、エディターの提案によって手動で修正できます。 提案.
TypeScriptのenum
は、意味的に関連する定数値を整理するための実用的な方法です。明示的な値を持たないenum
のメンバーには、デフォルトで連続して増加する数値が与えられます。
enum
メンバーの値が重要なプロジェクトでは、enum
が時間とともに変更された場合、列挙型の暗黙的な値を許可するとバグが発生する可能性があります。
このルールは、各enum
メンバーの値を明示的に初期化することを推奨します。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/prefer-enum-initializers": "error"
}
};
Playgroundでこのルールを試す ↗
例
- ❌ 不正
- ✅ 正しい
enum Status {
Open = 1,
Close,
}
enum Direction {
Up,
Down,
}
enum Color {
Red,
Green = 'Green',
Blue = 'Blue',
}
Playgroundで開くenum Status {
Open = 'Open',
Close = 'Close',
}
enum Direction {
Up = 1,
Down = 2,
}
enum Color {
Red = 'Red',
Green = 'Green',
Blue = 'Blue',
}
Playgroundで開くオプション
このルールは設定できません。
使用しない場合
enum
に暗黙的な値があっても構わない場合は、このルールを安全に無効にできます。