Why JSLint report in code:
function cos(a) {
var b = 0;
if (a) {
b = 1;
}
else {
b = 2;
}
return b;
}
error:
Problem at line 6 character 5: Expected exactly one space between '}' and 'else'.
This error can be turned off by disabling Tolerate messy white space option of JSLint.
Or in other words — why syntax:
} else { is better then
...
}
else {
...
Google also uses syntax with } else { form.
But I don’t understand why. Google mentioned ”implicit semicolon insertion”, but in context of opening {, not closing one.
Can Javascript insert semicolon after closing } of if block even if next token is else instruction?
Sorry that my question is a bit chaotic — I tried to think loud.
JSLint is based on Crockford’s preferences (which I share in this case).
It’s a matter of opinion which is “better”.
(Although clearly his opinion is right 😉