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 a configuration object with the following properties:
alwaysDisallowAssignmentInReturn ​
type: boolean
default: false
Whether to always disallow assignment in return statements.
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"
}
}