var key = 'a';
map[key] = 'value';

map['a'] = 'value';



在Java中,这是在编译过程中自动优化的。我想知道是否有任何JS编译器自己进行这种优化。

最佳答案

This answer与此处相关;性能没有区别,因为一个是另一个的别名。通过测试可以看到它们具有相同的性能:



var objectTest = {
  a: 1,
}

console.time('dot');
for (var i = 0; i < 100000000; i++) {
  objectTest.a = objectTest.a + 1;
}
console.timeEnd('dot');

objectTest = {
  a: 1,
}

console.time('bracket');
for (var i = 0; i < 100000000; i++) {
  objectTest['a'] = objectTest['a'] + 1;
}
console.timeEnd('bracket');

关于javascript - 在Javascript中对Hashmap的以下两次访问是否有任何区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52625986/

10-11 05:45