小编Ily*_*sky的帖子

JavaScript 中没有额外的布尔类型转换

在 if 语句中通过双重否定 (!!) 转换为布尔值是不必要的,例如,因为这些 if 语句是等价的:

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

if (foo) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但是如果通过 !! 转换为布尔值呢?是在 return 语句吗?像这儿:

nameToSomething : function(someName){
            if (someName) {
                return !!this._var[someVar] ? this._var: undefined;
            }
            return undefined;
        },
Run Code Online (Sandbox Code Playgroud)

!!this._mServicesByName[someName] 作为回报是不是和this._mServicesByName[someName]这里一样?为什么?

用简单的英语解释为什么它不同/相同,以及如何在 JavaScript 中规避此规则的示例,因此我的 linter 不会“看到”它将非常感激。

提前谢谢了。

javascript warnings boolean lint

4
推荐指数
1
解决办法
4213
查看次数

标签 统计

boolean ×1

javascript ×1

lint ×1

warnings ×1