The reason behind this behavior is that JavaScript treats non-empty string as true. First, “0” is converted into its boolean value, by automatic type conversion which is true. Therefore, if statement executes.
Example: This example illustrates why “0” is not equal to false in if() condition.
javascript
// JavaScript script to demonstrate // why “0” is not equal to false in // ‘if’ condition function GFG() { // Print type of "0" condole.log( typeof "0" ); // Print boolean value of "0" condole.log(Boolean( "0" ) ); // Boolean value of "0" is true so // 'if' part will execute if ( "0" ) { condole.log( "if part executed" ); } else { condole.log( "else part executed" ); } } // Driver code GFG(); |
Output:
string true if part executed