<i>I can&#x27;t believe people still bash JavaScript.</i><p>I can&#x27;t believe people actually like it. It might be understandable if you&#x27;re comparing it to enterprisey Java, but I&#x27;m baffled that anyone could prefer ES5 to Python or Ruby. (I will acknowledge that ES6 puts it somewhere in the area of Python 2.5).<p><i>It&#x27;s an incredibly powerful, expressive language.</i><p>Not if you want super advanced features like a hashtable with non-string keys, or checking if two objects are equal.<p><i>It lets you do stuff like redefine entire objects, properties or methods at runtime (for stubbing).</i><p>As does any other dynamic language.<p><i>Also, JS is great for writing asynchronous logic.</i><p>As is any other language with first-class functions. And with others you don&#x27;t have to do silly contortions to work around JavaScript&#x27;s broken &quot;this&quot;.<p><i>I think its a shame that some people just didn&#x27;t seriously try JavaScript.</i><p>Tried it, have written it professionally for many years, and as a result am very much looking forward to WebAssembly.