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