无法为grunt
设置jshint选项这是我的gruntfile.js
grunt.initConfig( {
jshint : {
options: {
curly: false,
asi: true,
eqeqeq: false,
maxparams: 5,
undef: false,
unused: false,
eqnull: true,
browser: true,
devel: true,
expr: true,
jquery: true ,
evil : true
},
files : {
src : [
'dev/*.js', 'dev/**/*.js' ,
'files-lib/*.js', 'files-lib/**/*.js' ]
},
},
仍然出现错误
71 | return(this.optional(element)&& value ==“”)|| re.test(值); ^使用'==='与''进行比较。
感谢您的帮助
答案 0 :(得分:2)
简短回答:在您的options
配置中,您无法做任何其他事情来避免这种情况。
更长的答案:虽然eqeqeq
配置中的false
属性设置为options
,但(假设双等的实例) ==
不应该抛出错误),jshint
在这个例子中我认为是正确地将此报告为错误。
正在验证的代码中的value==""
部分是抛出错误(即它忽略eqeqeq: false
选项)。这是有充分理由的!
==
运算符将在执行任何必要的类型转换后比较相等性,这可能导致Javascript中非常奇怪的结果。例如:
0 == "" // true
false == "" // true
虽然我很欣赏double equals为许多比较场景产生正确的结果,但是这个value==""
示例肯定是应该使用三等于的情况,或者如果你是一个双等于唯一的人,那么你可以用value==""
value.length == 0
关于三等于和双等于运算符的其他信息,以及它的各种怪癖,可以在这个问题的答案中找到post