Javascript!和!!分歧

时间:2011-05-30 14:11:08

标签: javascript operators

  

可能重复:
  What is the !! operator in JavaScript?

这两个运营商有什么区别? !! !!有特殊的意义,或者它只是意味着你正在做两个人!'操作。我知道有"真相"和" Truthy" Javascript中的概念,但我不确定是否!!用于"真相"

2 个答案:

答案 0 :(得分:8)

!!只是双倍!

!true // -> false
!!true // -> true

!!将某事物转换为布尔值

的常用方法
!!{}  // -> true
!!null // -> false

答案 1 :(得分:7)

编写!!是将“真实”或“虚假”变量转换为真正的布尔值的常用方法。

例如:

var foo = null;

if (!!foo === true) {
    // Code if foo was "truthy"
}

将第一个!应用于foo后,返回的值为true。再次注意该值会使其false,这意味着未输入if块中的代码。