Skip to content

eslint/no-return-assign Style

🚧 An auto-fix is still under development.

What it does

Disallows assignment operators in return statements

Why is this bad?

Assignment is allowed by js in return expressions, but usually, an expression with only one equal sign is intended to be a comparison. However, because of the missing equal sign, this turns to assignment, which is valid js code Because of this ambiguity, it’s considered a best practice to not use assignment in return statements.

Examples

Examples of incorrect code for this rule:

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

Examples of correct code for this rule:

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

How to use

To enable this rule in the CLI or using the config file, you can use:

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

References

Released under the MIT License.