Regarding the &quot;no semicolon&quot; stuff, is there actually any way to write this type of formatting<p><pre><code>    list.map(func1)
        .filter(func2)
        .map(func3)
        .reduce(func4);
</code></pre>
in JavaScript? As far as I know, the semicolon rules would automatically terminate the statement after map(func1).<p>EDIT: Ah, thanks – the things I read never mentioned JS doing lookahead during ASI. This makes it a lot nicer, tbh.