有什么用!! 在JavaScript中

Mif*_*eng 4 javascript

可能重复:
什么是!! (不是)JavaScript中的运算符?

我刚刚遇到了使用的代码!!,这意味着逻辑不对我.

  app.isArray = Array.isArray || function(object) {
    return !!(object && object.concat
              && object.unshift && !object.callee);
  };
Run Code Online (Sandbox Code Playgroud)

使用!!和不使用它有什么不同?

(我的猜测是!!将结果转换为布尔类型.如果我的猜测是正确的,为什么会这样?)

rek*_*ire 5

!只需将内容double反转为布尔值即可.这里有些例子:

!! true === true
!! false === false
Run Code Online (Sandbox Code Playgroud)

  • 在看到评论之前,我在手机上写了答案. (5认同)
  • 请注意,在您的示例中,`!!`是多余的,因为操作数已经是布尔值... (2认同)