Насколько дорого обходится доступ к объектному свойству большого объекта? - PullRequest
3 голосов
/ 06 августа 2020

Предпосылки: Я в основном программист-самоучка. Последние шесть лет я занимаюсь профессиональной JS работой, но из-за незнания основ информатики мне не совсем понятны некоторые вещи.

Рассмотрение объекта:

const test = {a: 1, b: 2, c: 3}  

значение свойства b можно узнать двумя способами. Путь 1:

console.log(test.b)  

или, альтернативно, Путь 2:

for( const prop of Object.keys(test) ){
    if( prop === 'b' ) return console.log(test[prop])
}  

Мой вопрос: под капотом, Путь 1, по сути, такой же, как Путь 2? Должен ли компьютер все еще просматривать все свойства test, чтобы найти b? Или он каким-то образом «волшебным образом» знает, где именно искать в памяти, когда получает test[b], поэтому ему не нужно сканировать весь объект?

...