eslint-plugin-no-empty-statement
v0.1.1
Published
disallow empty statement as the body of `if`, `for`, etc.
Downloads
5
Readme
Why?
It's possible that developers write these forms of code:
if (falseCondition);
{
console.log("It's not true.");
}
for (let i = 0; i < 3; i++);
{
doSomethingInLoop();
}
In the first example, the developer wants the if
body to be executed only if falseCondition
is met, but because he mistakenly typed a semicolon next to the parenthesis, the { ... }
block isn't treated as if
body, so it always gets executed.
In the second example, the developer wants doSomethingInLoop()
to be executed 3 times, but because he mistakenly typed a semicolon next to the parenthesis, the { ... }
block isn't treated as for
body, so it gets executed only once.
If the if
or for
body is simply a semicolon, this semicolon is an "empty statement". Note that this is not "empty block", which is {}
.
This rule disallows this form of semicolons.
Usage
In your eslint config file:
{
"plugins": ["no-empty-statement"],
"rules": {
"no-empty-statement/no-empty-statement": "error"
}
}
This rule has a string option:
"ignore-statement-list-item"
(default) allows "empty statement semicolons" in a container that can have multiple statements, for example an extra semicolon in the block{ doSomething(); ; }
"all"
disallows all "empty statement semicolons".