Какой метод быстрее получить что-то из объекта Javascript

Каким будет самый быстрый способ получить значение объекта по ключу?

Если бы у вас был объект как таковой:

var obj = {
    title: 'A title',
    subject: 'A subject'
};

Будет ли это:

obj['title']

Or:

obj.title

заранее спасибо


person CaptainCarl    schedule 22.05.2014    source источник
comment
Простой способ узнать ...   -  person Niet the Dark Absol    schedule 22.05.2014
comment
Вердикт: obj.title быстрее, но настолько незначительно, что не стоит к нему привередничать.   -  person Niet the Dark Absol    schedule 22.05.2014
comment
Согласовано. Отличный ответ. Спасибо!   -  person CaptainCarl    schedule 22.05.2014
comment
Ответьте, пожалуйста.   -  person CaptainCarl    schedule 22.05.2014
comment
@CaptainCarl вы не можете сказать по этому тесту, он может лгать и может зависеть от множества других факторов. Этот микро-тест хорош и все такое, но он проверяет один сценарий - что, если объект имеет много свойств? Что, если код, который его запускает, является JIT-компилятором? А если нет? Что делать, если выполняется удаление мертвого кода? Тест говорит нам здесь очень мало.   -  person Benjamin Gruenbaum    schedule 22.05.2014


Ответы (2)


Не должно быть разницы в производительности. Умный движок JavaScript определит, что "title" является константой, и преобразует их в одно и то же промежуточное представление.

Также обратите внимание, что вам не следует беспокоиться о различиях в производительности в этой области. Кнут сказал, что преждевременная оптимизация является корнем всех зол в 97% случаев.

Если у вас есть проблема с производительностью, профилируйте ее, найдите узкие места и измените соответствующие биты.

person Benjamin Gruenbaum    schedule 22.05.2014

Нет разницы в производительности:

http://jsperf.com/get-value-from-object

person Getz    schedule 22.05.2014