Aller au contenu

noUselessLoneBlockStatements

Ce contenu n’est pas encore disponible dans votre langue.

Disallow unnecessary nested block statements.

In JavaScript, prior to ES6, standalone code blocks delimited by curly braces do not create a new scope and have no use. In ES6, code blocks may create a new scope if a block-level binding (let and const), a class declaration or a function declaration (in strict mode) are present. A block is not considered redundant in these cases.

{}
code-block.js:1:1 lint/complexity/noUselessLoneBlockStatements ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This block statement doesn’t serve any purpose and can be safely removed.

> 1 │ {}
^^
2 │

Standalone block statements without any block-level declarations are redundant in JavaScript and can be removed to simplify the code.

if (foo) {
bar();
{
baz();
}
}
code-block.js:3:3 lint/complexity/noUselessLoneBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━

This block statement doesn’t serve any purpose and can be safely removed.

1 │ if (foo) {
2 │ bar();
> 3 │ {
^
> 4 │ baz();
> 5 │ }
^
6 │ }
7 │

Standalone block statements without any block-level declarations are redundant in JavaScript and can be removed to simplify the code.

Safe fix: Remove redundant block.

1 1 if (foo) {
2 2 bar();
3 - ··{
4 3 baz();
5 - ··}
6 4 }
7 5

while (foo) {
bar();
}
biome.json
{
"linter": {
"rules": {
"complexity": {
"noUselessLoneBlockStatements": "error"
}
}
}
}