JavaScript 属性访问器中点表示法和括号表示法哪个性能更好?

问题描述 投票:0回答:1

在一次采访中,我被问到了标题中描述的问题。我想面试官想问的是js中属性访问器的底层原理。所以我想知道的是性能和原理而不是差异。

括号符号

const a = { b: { c: 'Bracket Notation' } }
console.log(a['b']['c'])

点符号

const a = { b: { c: 'Dot Notation' } }
console.log(a.b.c)

javascript ecmascript-5
1个回答
0
投票

点表示法和括号表示法之间的主要区别之一在于它们访问动态生成的能力。

动态属性访问功能是括号表示法的一个显着优势,当您需要在运行时计算属性名称时,这是必不可少的。它允许您访问使用点表示法无法访问的属性,例如带有空格或特殊字符的属性,或者名称存储在变量中的属性。

在性能方面,旧版 JavaScript 引擎中两者之间曾经存在细微差别,点表示法稍快一些。然而,现代 JavaScript 引擎已经将这两种表示法优化到可以忽略不计的程度。

© www.soinside.com 2019 - 2024. All rights reserved.