начнем утро головоломкой из разряда "и на старуху бывает проруха" jsperf.com/es6-map-vs-obj…
... напихали в объект кучу свойств obj[keys[i]] = i и почему-то читать эти свойства быстрее c ключами из Object.keys(obj), а не из keys
отгадка на загадку: дело в том, что obj[key] быстрее всего работает когда key - это интернализованная строка.
... массив keys содержит строки результаты конкатенации, которые в V8 не интернализованы, а objectKeys содержит интернализованные строки.
... потому что имена свойств внутри объекта V8 хранит в интернализованных виде -> Object.keys(obj) возвращает массив интернализованных строк
