no-useless-return
Disallow redundant return statements
🔧 Fixable
Some problems reported by this rule are automatically fixable by the --fix command line option
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.
Rule Details
This rule aims to report redundant return statements.
Examples of incorrect code for this rule:
Open in Playground
/* eslint no-useless-return: "error" */
const foo = function() { }
const bar = function() {
doSomething();
}
const baz = function() {
if (condition) {
qux();
} else {
quux();
}
}
const item = function() {
switch (bar) {
case 1:
doSomething();
default:
doSomethingElse();
}
}
Examples of correct code for this rule:
Open in Playground
/* eslint no-useless-return: "error" */
const foo = function() { return 5; }
const bar = function() {
return doSomething();
}
const baz = function() {
if (condition) {
qux();
return;
} else {
quux();
}
qux();
}
const item = function() {
switch (bar) {
case 1:
doSomething();
return;
default:
doSomethingElse();
}
}
const func = function() {
for (const foo of bar) {
return;
}
}
Options
This rule has no options.
When Not To Use It
If you don’t care about disallowing redundant return statements, you can turn off this rule.
Version
This rule was introduced in ESLint v3.9.0.