Using google closure piler I get the following warning message:
WARNING - If this if/for/while really shouldnt have a body, use {}.
Here's what the documentation says:
This warning means that you have a semi-colon immediately following an if, for, or while statement. For example:
// Produces JSC_SUSPICIOUS_SEMICOLON warning: if (true); else alert('no');
Is this just a code convention thing or is {}
better than ;
for some reason?
Using google closure piler I get the following warning message:
WARNING - If this if/for/while really shouldnt have a body, use {}.
Here's what the documentation says:
This warning means that you have a semi-colon immediately following an if, for, or while statement. For example:
// Produces JSC_SUSPICIOUS_SEMICOLON warning: if (true); else alert('no');
Is this just a code convention thing or is {}
better than ;
for some reason?
- Why wouldn't you just test for the opposite? – Evan Davis Commented Jul 22, 2013 at 15:17
- @Mathletics what do you mean? – tim peterson Commented Jul 22, 2013 at 15:18
- 2 It's more clear to me that the if/for/while has an empty body if I read {} – Ye Liu Commented Jul 22, 2013 at 15:18
-
3
Why wouldn't you write
if (!condition) alert('no')
instead of the empty body? – Evan Davis Commented Jul 22, 2013 at 15:20
1 Answer
Reset to default 9This guards against things like:
if(condition);
{
// oops, I really meant for this to be conditional.
// now it always executes, regardless of condition.
}
The error raised forces you to explicitly put the empty {}
before the ;
so it's clear that that's what you intended.