Since node.js is backed by V8, optimization decisions that the V8 team have made end up in developer code that runs in node.js.  For example, Bluebird has a list of &quot;optimization killers&quot;[0] that many developers that I know use as a reference when making node.js libraries.  However, these optimizations are V8 only, and so &quot;edge-case of an implementation makes its way into programmers&#x27; habits&quot;.  A quick example is &quot;5.1. The key is not a local variable:&quot;, which ends up with having to jump through some hoops in a for-in loop, not because it&#x27;s easy or because the language forces it, but just because V8 is the engine.<p>[0] - <a href="https:&#x2F;&#x2F;github.com&#x2F;petkaantonov&#x2F;bluebird&#x2F;wiki&#x2F;Optimization-killers" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;petkaantonov&#x2F;bluebird&#x2F;wiki&#x2F;Optimization-k...</a>