什么是!!在avascript中的运算符?

What is the “!!” operator in Javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What is the !! operator in JavaScript?

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

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


if (!!window.EventSource) {
var source = new EventSource('stream.php');
} else {
// Result to xhr polling :(
}

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


它将把任何事情都转化为truefalse

1
2
3
4
5
!!0    // => false
!!1    // => true
!!'a'  // => true
!!''   // => false
!!null // => false

技术上来说,它不是一个操作员,它只是两个操作员之间的下一个。但是,一个双重否定是显而易见的,你使用!!就像一个运算符转换到推进型。


在大多数语言中,是双重否定,如否定。Consider this:

ZZU1

这通常是在一个价值存在而不是虚假存在的情况下,例如:

1
2
3
!!'some string' == true
!!123 == true
!!myVar == true


!是用来将一个非零/非零值转换为布尔恩真实值和一个零/零值转换为虚假值。

E.G.IF A=4,then!A=False and!到(!(a)=TRUE。