双重感叹号(!!)如何在JavaScript中工作?
这个问题在这里已经有了答案:
! 是逻辑否定或“不”运算符。 !! 是! 两次。 这是分别将“真实”或“虚假”值分别为true或false的一种方式。 给定一个布尔值! 将否定这个价值,即!true产生false ,反之亦然。 给定布尔值以外的值,该值将首先转换为布尔值,然后取反。 例如, !undefined将首先将undefined转换为false ,然后否定它,产生true 。 申请第二! 运算符( !!undefined )产生false ,所以实际上!!undefined将undefined转换为false 。
在JavaScript中,值false , null , undefined , 0 , -0 , NaN和'' (空字符串)是“falsy”值。 其他所有值都是“真理”。(1):7.1.2下面是真值表! 和!! 适用于各种价值:
value | !value | !!value
-----------+--------+-------
false | true | false
true | false | true
null | true | false
undefined | true | false
0 | true | false
-0 | true | false
1 | false | true
-5 | false | true
NaN | true | false
'' | true | false
'hello' | false | true
链接地址: http://www.djcxy.com/p/12643.html
上一篇: How does the double exclamation (!!) work in javascript?
