Skip to content

useCollapsedElseIf (since v1.1.0)

Diagnostic Category: lint/style/useCollapsedElseIf

Sources:

Enforce using else if instead of nested if in else clauses.

If an if statement is the only statement in the else block, it is often clearer to use an else if form.

if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
}
style/useCollapsedElseIf.js:3:9 lint/style/useCollapsedElseIf  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   This if statement can be collapsed into an else if statement.
  
    1 │ if (condition) {
    2 │     // ...
  > 3 │ } else {
           
  > 4 │     if (anotherCondition) {
  > 5 │         // ...
  > 6 │     }
       ^
    7 │ }
    8 │ 
  
   Safe fix: Use collapsed else if instead.
  
    1 1  if (condition) {
    2 2      // ...
    3  - }·else·{
    4  - ····if·(anotherCondition)·{
      3+ }·else·if·(anotherCondition)·{
    5 4          // ...
    6  - ····}
    7  - }
      5+ ····}
    8 6  
  
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
} else {
// ...
}
}
style/useCollapsedElseIf.js:3:9 lint/style/useCollapsedElseIf  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   This if statement can be collapsed into an else if statement.
  
     1 │ if (condition) {
     2 │     // ...
   > 3 │ } else {
            
   > 4 │     if (anotherCondition) {
   > 5 │         // ...
   > 6 │     } else {
   > 7 │         // ...
   > 8 │     }
        ^
     9 │ }
    10 │ 
  
   Safe fix: Use collapsed else if instead.
  
     1 1  if (condition) {
     2 2      // ...
     3  - }·else·{
     4  - ····if·(anotherCondition)·{
       3+ }·else·if·(anotherCondition)·{
     5 4          // ...
     6 5      } else {
     7 6          // ...
     8  - ····}
     9  - }
       7+ ····}
    10 8  
  
if (condition) {
// ...
} else {
// Comment
if (anotherCondition) {
// ...
}
}
style/useCollapsedElseIf.js:3:9 lint/style/useCollapsedElseIf ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   This if statement can be collapsed into an else if statement.
  
    1 │ if (condition) {
    2 │     // ...
  > 3 │ } else {
           
  > 4 │     // Comment
  > 5 │     if (anotherCondition) {
  > 6 │         // ...
  > 7 │     }
       ^
    8 │ }
    9 │ 
  
if (condition) {
// ...
} else if (anotherCondition) {
// ...
}
if (condition) {
// ...
} else if (anotherCondition) {
// ...
} else {
// ...
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
doSomething();
}