If an if statement is the only statement in the else block, it is often clearer to use an else if form.
js
if (foo) {
// ...
} else {
if (bar) {
// ...
}
}should be rewritten as
js
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:
::: incorrect
js
/*eslint no-lonely-if: "error"*/
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
} else {
// ...
}
}:::
Examples of correct code for this rule:
::: correct
js
/*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.