javascript - 在 Javascript 中跟踪 Hashmap 的两次访问有什么不同吗

标签 javascript

  1. >
    var key = 'a';
    map[key] = 'value';
    
  2. >
    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/

相关文章:

javascript - 如何将我的事件处理与 HTML 代码分开

javascript - 仅用整数渲染 d3 线性漂亮比例

javascript - 谷歌地图 react : Value of props passed by parent component

javascript - 如何从reddit获取随机帖子

javascript - 如何围绕字形的垂直中间或中心点应用 CSS 旋转过渡

javascript - 拉斐尔透明元素onclick

javascript - "condition"(? :) operator work in JavaScript as in C?

javascript - 覆盖导入语句以指向自定义包

javascript - 正则表达式 jQuery : find the capital letters and ignore html tags

javascript - 为什么我在此 <select> 标签下拉菜单中所做的任何选择总是默认为我设置的最后一个 if 语句?