Предпосылки: Я в основном программист-самоучка. Последние шесть лет я занимаюсь профессиональной 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]
, поэтому ему не нужно сканировать весь объект?