Skip to content
Related Articles

Related Articles

Improve Article
What is the !! (not not) operator in JavaScript?
  • Difficulty Level : Expert
  • Last Updated : 23 Apr, 2019

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



My Personal Notes arrow_drop_up
Recommended Articles
Page :