Skip to content

useCollapsedIf (JavaScript)

Language JavaScript (and super languages)
biome.json
{
"linter": {
"rules": {
"style": {
"useCollapsedIf": "error"
}
}
}
}

Enforce using single if instead of nested if clauses.

If an if (b) statement is the only statement in an if (a) block, it is often clearer to use an if (a && b) form.

if (condition) {
if (anotherCondition) {
// ...
}
}
code-block.js:2:5 lint/style/useCollapsedIf  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ This if statement can be collapsed into another if statement.

1 │ if (condition) {
> 2 │ if (anotherCondition) {
│ ^^^^^^^^^^^^^^^^^^^^^^^
> 3 │ // ...
> 4 │ }
│ ^
5 │ }
6 │

ℹ Nested if statements without an else can be written as one condition, which reduces nesting.

ℹ Safe fix: Use collapsed if instead.

1 │ - if·(condition)·{
2 │ - ····if·(anotherCondition)·{
1 │ + if·(condition·&&·anotherCondition)·{
3 2 │ // ...
4 │ - ····}
5 │ - }
3 │ + ····}
6 4 │

if (condition) {
// Comment
if (anotherCondition) {
// ...
}
}
code-block.js:3:5 lint/style/useCollapsedIf ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ This if statement can be collapsed into another if statement.

1 │ if (condition) {
2 │ // Comment
> 3 │ if (anotherCondition) {
│ ^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ // ...
> 5 │ }
│ ^
6 │ }
7 │

ℹ Nested if statements without an else can be written as one condition, which reduces nesting.

if (condition && anotherCondition) {
// ...
}
if (condition) {
if (anotherCondition) {
// ...
}
doSomething();
}
if (condition) {
if (anotherCondition) {
// ...
} else {
// ...
}
}