DEV Community

Marko V
Marko V

Posted on • Edited on

consistent-return

In the spirit of either learning something new every day or sharing/teaching someone something new, and in line with the theme of these past few days... Linting.

The first question today was to resolve the "consistent-return" error.

This happens when you have this kind of pattern;

function myFunc(item) {
  if (booleanCheck) { 
    // do something
    return false;
  }
  // do something but not returning anything or returning void or anything but a boolean.
}
Enter fullscreen mode Exit fullscreen mode

So the first thing you have to make sure is, is there a consumer of myFunc somewhere in your code that is expecting that false return state and enacting on it? Depending on what you find. If there is a consumer that enacts on the return of the function, then make sure that the function always does return a value of the same type.

If you used the return as a way to exit the function, then change it to being an if-else statement instead or if you don't really need to do anything in the block that returned false before, you can inverse the if-check.

function myFunc(item) {
  if (booleanCheck) { 
    // do something but not continue with normal operations
  } else {
    // do something as per normal operations.
  }
}
Enter fullscreen mode Exit fullscreen mode

alternatively

function myFunc(item) {
  if (!booleanCheck) { 
    // do something as per normal operations.
  }
}
Enter fullscreen mode Exit fullscreen mode

See: https://eslint.org/docs/rules/consistent-return

Top comments (0)