Open In App

Why “0” is equal to false in JavaScript ?

Improve
Improve
Like Article
Like
Save
Share
Report

In JavaScript “0” is equal to false because “0” is of type string but when it tested for equality the automatic type conversion of JavaScript comes into effect and converts the “0” to its numeric value which is 0 and as we know 0 represents false value. So, “0” equals to false.

Example: This example illustrates why “0” equals to false.




<script>
      
    // JavaScript code to demonstrate 
    // why “0” is equal to false
      
    function GFG() {
      
        // Print type of "0"
        document.write(typeof "0" + "</br>");
      
        // Test whether "0" equals to false
        // or not. If "0" is equal to false
        // then "0" == false i.e.
        // false == false which return true
        var result = ("0" == false);
          
        // Print result
        document.write(result + "</br>");
          
        // Convert and print "0" to its numeric
        // value
        document.write(Number("0") + "</br>");
          
        // Convert and print false in numeric value
        document.write(Number(false) + "</br>");
          
        // So both numeric value are same
        // Therefore condition "0" == false
        // evaluates to true
        document.write("0" == false);
        document.write("</br>");
          
        // Or this statement
        document.write(Number("0") == Number(false));
    }
      
    // Driver code
    GFG();
      
</script>


Output:

string
true
0
0
true
true

So, from above it is clear that “0” is equal to false and reason behind this behavior is also clear, but when “0” is tested in if condition then it evaluates to true.



Last Updated : 27 Jun, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads