首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-extra-boolean-cast

"extends": "eslint:recommended"配置文件中的属性启用此规则。

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

if语句测试中,表达式的结果将被强制为布尔值,通过双重否定(!!)或强制转换为布尔值Boolean是不必要的。例如,这些if陈述是等同的:

代码语言:javascript
复制
if (!!foo) {
    // ...
}

if (Boolean(foo)) {
    // ...
}

if (foo) {
    // ...
}

规则细节

该规则禁止不必要的布尔转换。

此规则的错误代码示例:

代码语言:javascript
复制
/*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; ) {
    // ...
}

此规则的正确代码示例:

代码语言:javascript
复制
/*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 中引入的。

资源

扫码关注腾讯云开发者

领取腾讯云代金券