Eso sucede por efecto de la coerción de datos en JavaScript, lo cual causa que, en una comparación no estricta, al haber dos valores de diferente tipo, uno de estos sea
convertido en un valor equivalente al otro. En este caso, la cadena vacía es equivalente a cero luego de la coerción.
Para comparar estrictamente a dos valores, es decir, comprobar tanto a los valores en sí como a sus tipos de dato, debes utilizar el comparador de igualdad estricta:
===
.
Código Javascript
:
Ver original1 == "1" //true, porque poseen el mismo valor
1 === "1" //false, porque, el primer valor, es numérico; y el segundo, una cadena