在线文档教程
Eslint
规则 | Rules

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 中引入的。

资源