有什么好处!! (双不)运营商?

时间:2013-03-15 08:54:44

标签: javascript new-operator

我遇到过像这样的javascript代码部分:

if(!!something){
...
}

我想,这个操作符应该解决一些问题,但我无法理解。

修改

使用“double not”是否会在if运算符中提供任何好处?

我可以使用此代码代替上面的代码:

if(something){
    ...
}

2 个答案:

答案 0 :(得分:1)

!! x相当于Boolean(x)。即它有效地将变量强制转换为布尔值。

答案 1 :(得分:1)

!!将任何值转换为其布尔表示。一个简单的例子:

function hasItems(arr) {
  return !!arr.length;
}

如果你没有强制转换布尔值,那么它将在空时返回false,并在有项时返回数字。