I've always found it somewhat confusing how common operations like this with identical behavior but differing syntax can have such drastic differences in speed. Another example would be `for (let i in array) { array[i]...` versus `array.forEach(...`.<p>For highly optimized engines like V8 and SpiderMonkey, it seems like recognizing these cases and automatically substituting in the faster behavior would be pretty low hanging fruit that could have a significant impact on existing scripts' performance.<p>Maybe there's some underlying reason to do with how these engines work internally that prevents such optimizations from easily being performed though.