我正在阅读JSlint选项文档以了解每个可用选项,并且遇到了一个我不太了解的问题,并且在其他地方找不到任何有用的信息.
sub - 容忍低效的下标
如果下标符号可用于以点表示法更好地表达的表达式,则为true.
任何人都可以更清楚地了解这意味着什么?
谢谢
可以使用点或下标(方括号)表示法访问JavaScript对象成员:
o.foo
o['foo']
Run Code Online (Sandbox Code Playgroud)
......是一回事.方括号表示法是访问其名称不能以点表示法使用的成员所必需的:
o['hello!']
Run Code Online (Sandbox Code Playgroud)
或者从动态名称访问成员:
var name= issomething? 'foo' : 'bar';
o[name]
Run Code Online (Sandbox Code Playgroud)
但简单来说,o['foo']你不需要它.通常o.foo表单更容易阅读,所以使用它更好的做法.一些来自其他语言的程序员可能更喜欢使用方括号来表示使用"像地图"而不是"像对象一样"的对象,但它与JS完全相同.
(JSlint声称方括号形式也"效率低",但如果是这样,那么差异是微不足道的,并不值得打扰.)