Becaue that binding is tigher than...<p><pre><code>    (function(){ 
      var __that = this; 
      return function(){
        &#x2F;*switch __thatthat&#x2F;this ref*&#x2F;
      }; 
    }());
</code></pre>
The code in question isn&#x27;t just a binding, and it will have other differences... The code above is similar to what babel does iirc.<p>Now, that said there are other differences, such as ensuring that let variables are properly scoped and const doesn&#x27;t allow reassign... that doesn&#x27;t even begin with the maps and other new strong types that require additional locking and checks that will be less performant in many scenarios.<p>It&#x27;s more about stable software with understandable, manageable code more than it is absolute, raw performance.