eslint/no-return-assign Style
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;
}Configuration
This rule accepts one of the following string values:
"always"
Disallow all assignments in return statements.
"except-parens"
Allow assignments in return statements only if they are enclosed in parentheses. This is the default mode.
How to use
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny no-return-assignjson
{
"rules": {
"no-return-assign": "error"
}
}