Skip to content
← Back to rules

eslint/no-return-assign スタイル

何をするか

戻り値の式内での代入演算子(=)の使用を禁止します。

なぜ悪いのか

JavaScript では、戻り値の式内に代入が許可されていますが、通常、1つの等号(=)だけを使った式は比較を意図していると考えられます。しかし、等号が1つしかないと、これは比較ではなく代入として解釈され、有効な JavaScript コードになります。この曖昧さがあるため、戻り値の式内で代入を使用することはベストプラクティスとはされていません。

このルールに対して誤ったコードの例:

js
() => (a = b);
function x() {
  return (a = b);
}

このルールに対して正しいコードの例:

js
() => (a = b);
function x() {
  var result = (a = b);
  return result;
}

設定

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

"always"

戻り値の式内のすべての代入を禁止します。

"except-parens"

代入を戻り値の式内で許可するが、括弧で囲まれている場合に限る。これがデフォルトモードです。

使い方

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

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

参照