Skip to content

useCollapsedIf

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"style": {
"useCollapsedIf": "error"
}
}
}
}

¥Description

强制使用单个 if 子句而不是嵌套的 if 子句。

¥Enforce using single if instead of nested if clauses.

如果 if (a) 代码块中只有一条 if (b) 语句,通常使用 if (a && b) 形式会更清晰。

¥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.

¥Examples

¥Invalid

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 │

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 │

¥Valid

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

¥Related links