我对这个JSLint错误感到很满意。我怎么能忍受呢?是否有标志或复选框?
当你做类似的事情时,你会得到它:
v && arr.push(v);
而不是:
if (v) {
arr.push(v);
}
两者都做同样的事情。如果你把:
window.test = function(v) {
'use strict';
var arr = [];
if (v) {
arr.push(v);
}
return arr;
};
进入minifier它无论如何都会缩小到这个:
window.test=function(a){var b=[];a&&b.push(a);return b};
答案 0 :(得分:75)
我不认为JSLint可以选择关闭它。
JSHint(包含更多选项的fork)有一个选项,但是:expr
选项,记录为“如果应该允许ExpressionStatement作为程序”。
答案 1 :(得分:36)
答案 2 :(得分:9)
在JSLint中没有这个选项。您可以使用以下方法规避它:
var dummy = v && arr.push(v);
注意:dummy
之后评估为true
。
另一种解决方法可能是:
function expression(statement) {
'use strict';
return statement;
}
expression(v && arr.push);
答案 3 :(得分:1)
正在寻找如何使用ESLint来抑制它的人们。您可以通过在该行的上方写下以下注释来忽略它。
// eslint-disable-next-line no-unused-expressions
您还可以通过在文件的顶部放置以下注释来取消显示整个文件的警告
/* eslint-disable no-unused-expressions */