Fork me on GitHub

JSLint Error Explanations

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


Strings must use singlequote

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

当JSHint(从版本r09开始)遇到一个用双引号包含的字符串,并当quotmark被设置为single时。在下面例子中我们尝试着将字符串字面量赋给变量x

JSHint在相反的情况下会抛出"Strings must use doublequote"的错误,即当字符串被单引号包裹并将quotmark设置为double

为什么会产生这个错误?

这个错误是为了强调一种不同于一些特定编程风格的风格。在JavaScript中使用单引号和双引号是没有区别的。这在语法中关于字符串字面量已经解释的很清楚(ES5 §7.8.4):

StringLiteral ::
    " DoubleStringCharactersopt "
    ' SingleStringCharactersopt '

唯一不同的是DoubleStringCharacters不能包含另外的双引号以及SingleStringCharacters不能包含另外的单引号(那将会字符串字面量)。

如果设置了这个选项,那么这就像你自己的代码库,要求你能够符合那种代码规范中的引号规则。为了解决这个错误,简单的使用正确的引号类型:

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


comments powered by Disqus