!!

有的地方能看到!! 这样的操作符,实际上这是! 的两次使用。

其真实目的是把一个非boolean变量转换为boolean 变量, 还有这样写法比较简洁。

!!false === false
!!true === true

!!0 === false
!!parseInt("foo") === false // NaN is falsy
!!1 === true
!!-1 === true  // -1 is truthy

!!"" === false // empty string is falsy
!!"foo" === true  // non-empty string is truthy
!!"false" === true  // ...even if it contains a falsy value

!!window.foo === false // undefined is falsy
!!null === false // null is falsy

!!{} === true  // an (empty) object is truthy
!![] === true  // an (empty) array is truthy; PHP programmers beware!

最后更新于