I think if you use eval, all bets are off anyway.<p>But I <i>think</i> that in ES6 without eval you can&#x27;t refer to the current scope in a dynamic way; which means that the engine can resolve bindings at compile time without worrying about people fiddling with scopes behind the scenes, which should simplify optimisation a lot.