Fork me on GitHub

JSLint Error Explanations

JSLint will hurt your feelings. It's time to make them better!


['{a}'] is better written in dot notation

什么时候会产生这个错误?

JSLint和JSHint在遇到尝试使用字符串字面量和方括号访问不是保留字的对象的属性时会抛出"['{a}'] is better written in dot notation"的错误。在以下例子中我们尝试着访问x对象的prop属性:

为什么会产生这个错误?

这个错误是为了强调不必要的或潜在的让人感到困惑的代码。在很多编程语言中,使用点来访问对象的属性是非常常见的。从语法角度而言也没有任何问题,两者都会在所有宿主环境中运行正常。但是使用点来访问属性总是可以省下三个字符的控件。以下是上述代码片段,使用点来访问的版本:

但是,如果属性的名称是保留字那么就必须使用方括号来访问。JSLint和JSHint会在这时抛出错误。在下面这个例子中,x有一个叫做class的属性。注意JSLint并不会抛出错误,及时我们使用了方括号:

如果你使用了JSHint,可以将sup选项设置为true

在JSHint1.0.0及以上版本中你可以通过特殊的语法选项来将其忽略。这个警告的标示符是W069。也就意味着你可以通过/*jshint -W069 */来告诉JSHint不要报告这个错误。


comments powered by Disqus