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;
  }
}
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.