Open In App

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

Last Updated : 23 Apr, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The !!(not not) is the repetition of the unary logical operator not(!) twice. The double negation(!!) operator calculates the truth value of a value. This operator returns a boolean value, which depends on the truthiness of the given expression.
In general, logical not(!) determines the “truth” of what a value is not:

  • The truth is that false is not true (that’s why !false results in true)
  • The truth is that true is not false (that’s why !true results in false)

!! determines the “truth” of what a value is not not:

  • The truth is that true is not not true (that’s why !!true results in true)
  • The truth is that false is not not false (that’s why !!false results in false)

Example-1: This example checks the truthyness of the boolean value true.




<script>
    // Write Javascript code here
    var n1;
    /* checking truthyness of
    the boolean value true. */
    n1 = !!true;
    document.write(n1);
</script>


Output:

true

Example-2: This example checks the falsyness of the boolean value false.




<script>
    // Write Javascript code here
    var n1;
    // checking falsyness of the boolean value false. 
    n1 = !!false;
    document.write(n1);
</script>


Output:

false

Example-3: This example checks the truthyness or falsyness of a given string.




<script>
    // Write Javascript code here
    var n1;
    // checking the truthyness or falsyness of a given string.
    n1 = !!"Javascript programming";
    document.write(n1);
</script>


Output:

true

Example-4: This example checks the truthyness or falsyness of a given object.




<script>
    // Write Javascript code here
    var n1;
    // checking the truthyness 
    // or falsyness of a given object.
    n1 = !!{
        articles: 70
    };
    document.write(n1);
</script>


Output:

true


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads