Skip to content
← Back to rules

eslint/no-cond-assign 正しさ

This rule is turned on by default.

何をするか

条件式内での代入演算子の使用を禁止します

なぜ悪いのか

条件文では、比較演算子(例:==)を代入演算子(例:=)と間違えて入力しやすいです。

条件文内で代入演算子を使用する正当な理由はあります。しかし、特定の代入が意図的だったのかどうか判断するのは難しい場合があります。

このルールに違反する誤ったコードの例:

js
// ユーザーの役職を確認
if ((user.jobTitle = "manager")) {
  // user.jobTitle は現在誤った値になっています
}

このルールに従う正しいコードの例:

js
// ユーザーの役職を確認
if (user.jobTitle === "manager") {
  // 正しく `jobTitle` を比較しています
}

設定

このルールは以下の文字列値のいずれかを受け入れます:

"except-parens"

代入が括弧で囲まれている場合に限り、条件式内の代入を許可します。

"always"

条件式内でのすべての代入を禁止します。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "no-cond-assign": "error"
  }
}
bash
oxlint --deny no-cond-assign

参照