no-extra-boolean-cast
禁止不必要的布尔转换( no-extra-boolean-cast )
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
在--fix
命令行上的选项可以自动修复一些被这条规则反映的问题。
在if
语句测试中,表达式的结果将被强制为布尔值,通过双重否定(!!
)或强制转换为布尔值Boolean
是不必要的。例如,这些if
陈述是等同的:
if (!!foo) {
// ...
}
if (Boolean(foo)) {
// ...
}
if (foo) {
// ...
}
规则细节
该规则禁止不必要的布尔转换。
此规则的错误
代码示例:
/*eslint no-extra-boolean-cast: "error"*/
var foo = !!!bar;
var foo = !!bar ? baz : bat;
var foo = Boolean(!!bar
var foo = new Boolean(!!bar
if (!!foo) {
// ...
}
if (Boolean(foo)) {
// ...
}
while (!!foo) {
// ...
}
do {
// ...
} while (Boolean(foo)
for (; !!foo; ) {
// ...
}
此规则的正确
代码示例:
/*eslint no-extra-boolean-cast: "error"*/
var foo = !!bar;
var foo = Boolean(bar
function foo() {
return !!bar;
}
var foo = bar ? : bat;
版本
这条规则是在 ESLint 0.4.0 中引入的。