Skip to content
← Back to rules

eslint/operator-assignment スタイル

An auto-fix is available for this rule.

何をするか

このルールは、可能な限り代入演算子の省略形を使用することを要件とするか、禁止するかを設定します。
+=-=*=/= などの省略形代入演算子の使用を推奨することで、コードをより簡潔かつ読みやすくします。

なぜ悪いのか

JavaScript には、変数の代入と簡単な数学演算を組み合わせた省略形演算子が用意されています。
これらの省略形演算子を使わない場合、不要に冗長なコードになり、明確さやシンプルさを高める機会を逸していると見なされる可能性があります。

デフォルトの always オプションを使用した場合の 誤り なコードの例:

js
x = x + y;
x = y * x;
x[0] = x[0] / y;
x.y = x.y << z;

デフォルトの always オプションを使用した場合の 正しい コードの例:

js
x = y;
x += y;
x = y * z;
x = x * y * z;
x[0] /= y;
x[foo()] = x[foo()] % 2;
x = y + x; // `+` は常に交換則が成り立つわけではない(例:x = "abc")

never オプションを使用した場合の 誤り なコードの例:

js
x *= y;
x ^= (y + z) / foo();

never オプションを使用した場合の 正しい コードの例:

js
x = x + y;
x.y = x.y / a.b;

設定

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

"always"

可能な限り代入演算子の省略形を使用することを要求します。

"never"

代入演算子の省略形の使用を禁止します。

使用方法

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

json
{
  "rules": {
    "operator-assignment": "error"
  }
}
bash
oxlint --deny operator-assignment

参照