I don&#x27;t think it&#x27;s fair to blame something like this on Javascript per se, but that doesn&#x27;t mean it isn&#x27;t fundamentally badly designed ;) However, people actually appear to have started to notice this, and the latest result, ECMAScript 6, looks actually like it might be OK. At last, when people tell you JS isn&#x27;t <i>that</i> bad, you can actually believe them - though if they told you that before, maybe do your own research too.<p>With the latest version, you have block scope, you have a shorthand function syntax, the &quot;this&quot; nonsense is teeny bit less awful, there&#x27;s help at hand for the inevitable callback chains, and strict mode is still there. There&#x27;s also a new class syntax (though actually - aside from &quot;this&quot;! - I thought the old-style classes were the least of its problems).<p>I won&#x27;t apologise for rolling my eyes a bit at how it&#x27;s taken until ver 6 to get block scope, but better late than never.