Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’m pretty sure this is wrong. JS objects and arrays are different. The former will only yield elements from the array itself when iterated on, and has a consistent iteration order, while the later does not.


That's because arrays happen to override the special [Symbol.iterator] method:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Arrays are objects of class Array which have special literals, override the toString() method, and update the non-enumerable "length" property on certain operations.

Try calling Object.keys([1, 2, 3]), or even better try Object.getOwnPropertyNames([1, 2, 3])




JS arrays are array-like objects. That's the official line anyway.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: