title: Do we need to wrap ES6 code in an IIFE?
body: <p>In ES5, writing such code has been considered as good practice:</p>
  
  <pre><code>(function () {
      //some magic
  })();
  </code></pre>
  
  <p>But in ES6 variables created with <code>let</code> keyword are not attached to <code>window</code> object.</p>
  
  <p>So, is there any need now in writing our code in an IIFE, or it still has some purposes I haven't heard about?</p>