What is the !! (not not) operator in JavaScript?

The double negation(!! ) operator is the! Operator twice and calculates the truth value of a value. It returns a Boolean value, which depends on the truthiness of the expression.

Consider (!!p) as !(!p), here’s an example:

If p is a false value, !p is true, and !!p is false.
If p is a true value, !p is false, and !!p is true.

Here’s another example:

0 === false is false.
!!0 === false is true.
!!0 === false
!!parseInt("foo") === false
!!1 === true
!!-1 === true
!!false === false
!!true === true

Updated on: 12-Sep-2019


Kickstart Your Career

Get certified by completing the course

Get Started