En JavaScript , «0» es igual a falso porque «0» es de tipo string , pero cuando se prueba la igualdad, la conversión automática de tipos de JavaScript entra en vigencia y convierte el «0» a su valor numérico , que es 0 y como sabemos 0 representa un valor falso . Entonces, «0» es igual a falso .
Ejemplo: Este ejemplo ilustra por qué «0» es igual a falso .
<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>
Producción:
string true 0 0 true true
Entonces, desde arriba, está claro que «0» es igual a falso y la razón detrás de este comportamiento también es clara, pero cuando se prueba «0» en la condición if, entonces se evalúa como verdadero .