访问大对象的对象属性有多昂贵?

时间:2020-08-06 14:14:19

标签: javascript javascript-objects

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

0 个答案:

没有答案