Показать сообщение отдельно
  #37 (permalink)  
Старый 20.02.2014, 00:38
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

Сообщение от danik.js
То есть какие отличия {0:'a'}[0] от ['a'][0] ? Преобразование нуля в строку идет в обоих случаях?
Что там происходит физически - хз. Каждый движок по-своему реализует соответствие спецификации.
Но многих операций в теории можно избежать с помощью всяких эвристических оптимизаций.
Например, движок может не определять у массива свойство length, если анализ семантического дерева показывает, что оно ни разу не используется.
А может не то что не определять никаких свойств, а даже и вообще не создавать "JS-объект" как таковой: если известно, что аксессоры используют только ключи целочисленного типа, то достаточно выделить голый индексированный список с простой интеграцией ссылок в инфраструктуру сборщика мусора. Накладные расходы будут близки к минимальным.
__________________

Гейзенберг, возможно, читал этот тред.

Последний раз редактировалось Дзен-трансгуманист, 20.02.2014 в 00:42.
Ответить с цитированием