是什么 "!!" Javascript中的运算符?

hbt*_*hbt 4 javascript

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

对不起,如果这个很明显,但我不能谷歌

是什么 "!!" Javascript中的运算符?例如

__CODE__

作者是否只使用"!" 两次即双重否定?我很困惑因为这是官方文件

bow*_*ior 10

它会将任何东西转换为truefalse:

!!0    // => false
!!1    // => true 
!!'a'  // => true
!!''   // => false
!!null // => false
Run Code Online (Sandbox Code Playgroud)

从技术上讲,!!它不是一个运营商,它只是两个!彼此相邻的运营商.但是,除非你!!像运算符一样使用转换为布尔类型,否则双重否定是毫无意义的.


von*_*rad 6

在大多数语言中,!!是否定的是双重!否定.考虑一下:

# We know that...
!false == true

# And therefore...
!!false == false
!!true == true
Run Code Online (Sandbox Code Playgroud)

它通常用于检查值是否存在且不是false,如下所示:

!!'some string' == true
!!123 == true
!!myVar == true
Run Code Online (Sandbox Code Playgroud)