背景:我是一个自学成才的程序员。在过去的六年中,我一直在从事专业的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]
时确切地在内存中查找的位置,从而不必扫描整个对象?