eslint/no-constant-condition 正しさ
何をするか
条件式に定数式を使用しないように制限します
なぜ悪いのか
定数式(例:リテラル)をテスト条件として使用することは、タイプミスや特定の動作用の開発用トリガーである可能性があります。
このルールは、以下の構文におけるテスト条件で定数式の使用を禁止します:
if、for、while、またはdo...while文?: 三項演算子
例
このルールに対する誤りの例:
js
if (false) {
doSomethingUnfinished();
}
if (new Boolean(x)) {
doSomethingAlways();
}
if ((x ||= true)) {
doSomethingAlways();
}
do {
doSomethingForever();
} while ((x = -1));このルールに対する正しい例:
js
if (x === 0) {
doSomething();
}
while (typeof x === "undefined") {
doSomething();
}設定
このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。
checkLoops
type: "all" | "allExceptWhileTrue" | "none"
default: "allExceptWhileTrue"
ループ内の定数条件のチェックを行うかどうかを指定する設定オプション。
"all"またはtrue:ループ内での定数式の使用を禁止"allExceptWhileTrue":trueという式を持つwhileループを除き、ループ内での定数式の使用を禁止"none"またはfalse:ループ内での定数式の使用を許可
使用方法
このルールを有効化するには、設定ファイルまたは CLI で次のように使用できます:
json
{
"rules": {
"no-constant-condition": "error"
}
}bash
oxlint --deny no-constant-condition