The --fix
option on the command line can automatically fix some of the problems reported by this rule.
A return;
statement with nothing after it is redundant, and has no effect on the runtime behavior of a function. This can be confusing, so it’s better to disallow these redundant statements.
This rule aims to report redundant return
statements.
Examples of incorrect code for this rule:
/* eslint no-useless-return: "error" */ function foo() { return; } function foo() { doSomething(); return; } function foo() { if (condition) { bar(); return; } else { baz(); } } function foo() { switch (bar) { case 1: doSomething(); default: doSomethingElse(); return; } }
Examples of correct code for this rule:
/* eslint no-useless-return: "error" */ function foo() { return 5; } function foo() { return doSomething(); } function foo() { if (condition) { bar(); return; } else { baz(); } qux(); } function foo() { switch (bar) { case 1: doSomething(); return; default: doSomethingElse(); } } function foo() { for (const foo of bar) { return; } }
If you don’t care about disallowing redundant return statements, you can turn off this rule.
This rule was introduced in ESLint 3.9.0.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/no-useless-return