是什么 ”!!” Javascript中的运算符?
可能重复:
是什么 !! 运算符在JavaScript中?
对不起,如果这个是显而易见的,但我不能谷歌它
是什么 ”!!” Javascript中的运算符? 例如
if (!!window.EventSource) { var source = new EventSource('stream.php'); } else { // Result to xhr polling :( }
作者是否使用“!” 两次,即双重否定? 我很困惑,因为这是官方文档
它会将任何内容转换为true
或false
:
!!0 // => false
!!1 // => true
!!'a' // => true
!!'' // => false
!!null // => false
技术上, !!
不是运营商,它只是两个!
运营商彼此相邻。 但双重否定是毫无意义的,除非你正在使用!!
像运营商转换为布尔类型。
在大多数语言中, !!
是双重否定,因为!
是否定。 考虑这个:
# We know that...
!false == true
# And therefore...
!!false == false
!!true == true
它经常被用来检查一个值是否存在并且不是假的,例如:
!!'some string' == true
!!123 == true
!!myVar == true
! 用于将非零/非空值转换为布尔值true,并将零/空值转换为false。
例如,如果a = 4,那么!a = false并且!a =!(!a)= true。
链接地址: http://www.djcxy.com/p/12655.html