isNaN() vs. parseInt() confusion
This is because ""
is equivalent to zero in JavaScript. Try "" == 0
. This means if you try evaluating it in a numerical equation, it will come up as 0. When you parse it on the other hand it realizes there is nothing there.
As an alternative to parseInt
you could use Math.floor
. This will give you 0
for ""
.
isNaN
takes an integer as an argument - therefore JS converts ""
to 0
parseInt
takes a string as an argument - therefore an empty string is not a number