Number 2 is cheating IMHO: it is invoking console.log just like 1, just wrapped in an immediately invoked closure. You can keep playing this game ad infinitum:<p><pre><code> (_ => (_ => console.log("2a"))()()
(_ => (_ => (_ => console.log("2b"))))()()()</code></pre>