双重感叹号(!!)如何在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?