According to the link, you have resort to this kind of weirdness in order to reliably omit semicolons.<p><pre><code>    ;[1, 2, 3].forEach(bar)
</code></pre>
To my eye, having that in my code looks far worse than just using &quot;standard&quot; (ha ha) semicolons.<p>You mention a for loop exception as well.  I don&#x27;t understand what that exception is, but the general message seems to be &quot;Trust me, you can totally omit semicolons!  Everything is ok!  Except for all these weird edge cases, but you can just hack kludges around them!&quot;