JS.BASE.NO.LONELY.IF
Disallow 'if' statements as the only statement in 'else' blocks
If an if statement is the only statement in the else block, it is often clearer to use an else if form.
Copy
if (foo) {
// ...
} else {
if (bar) {
// ...
}
}
should be rewritten as
Copy
if (foo) {
// ...
} else if (bar) {
// ...
}
Rule Details
This rule disallows if statements as the only statement in else blocks.
Examples of incorrect code for this rule:
Copy
/*eslint no-lonely-if: "error"*/
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
} else {
// ...
}
}
Examples of correct code for this rule:
Copy
/*eslint no-lonely-if: "error"*/
if (condition) {
// ...
} else if (anotherCondition) {
// ...
}
if (condition) {
// ...
} else if (anotherCondition) {
// ...
} else {
// ...
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
doSomething();
}
When Not To Use It
Disable this rule if the code is clearer without requiring the else if form.