double exclamation mark in js code example
Example 1: double exclamation mark js
// Converts anything to boolean.
!!false === false
!!true === true
!!0 === false
!!1 === true
!!parseInt("foo") === false // NaN is falsy
!!-1 === true // -1 is truthy
!!(1/0) === true // Infinity 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!
Example 2: es6 what is double exclamation operator
!oObject // inverted boolean
!!oObject // non inverted boolean so true boolean representation
Example 3: javascript double exclamation mark
console.log(!!navigator.userAgent.match(/MSIE 8.0/));
// returns either true or false