当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不要报告这个错误。