Uhm, I&#x27;m not sure you correctly understand the point of Inversion of Control and Dependency Injection if you think that you don&#x27;t need it in JS.<p>ES &quot;let&#x27;s you work around this&quot; in that it let&#x27;s you just do stupid shit until it blows up in your face. Statically typed languages force you to consider those scenarios that might lead to blow ups. You still have to consider those scenarios in ES, but the language doesn&#x27;t force you to, so you have to have the diligence to do it yourself.<p>&quot;Expressiveness&quot; doesn&#x27;t mean &quot;write as little code as possible to get the base case running&quot;. Expressiveness means the ability to implement different patterns of solutions with native syntax. C++ is &quot;more expressive&quot; than C when it comes to object oriented programming, not because C cannot do OO, but because C++ has specific, checked syntax for it.