3 ms·
so isn't it like PHP, which doesn't have lists, only maps with integer keys?
by uryga 7y ago
so isn't it like PHP, which doesn't have lists, only maps with integer keys?
- azernik 7y agoWith the exception that unlike (I think?) PHP, JS also uses maps (w hich can only have string keys [1]) to implement objects and classes. Hence their being called objects, not maps. [1] So how do arrays have numerical keys? Well... actually they don't. I was trying to make JS look better than it is in my original comment. Actually, array keys are stringified versions of numbers, and values are automatically cast to string when you put them in indexing braces. Object.keys([1, 2]) --> ["0", "1"] As you can imagine, this leads to gotchas when you assume that a JS object can have, say, a date as a key b = {}; b[new Date()] = 10; Object.keys(b) --> [ "Sat Nov 09 2019 23:15:58 GMT-0800 (Pacific Standard Time)" ]