Il y a quelque chose d'étrange.
Pourquoi
Avec isNaN("")
Je reçois False
Mais
Avec parseInt("")
je reçois NaN
?
isNaN
prend un nombre entier comme argument – donc JS convertit ""
en 0
parseInt
prend une chaîne comme argument – donc une chaîne vide n'est pas un nombre
C'est parce que ""
est équivalent à zéro dans JavaScript. Essayez "" == 0
. Cela signifie que si vous essayez de l'évaluer dans une équation numérique, il apparaîtra comme 0. Lorsque vous l'analysez, d'autre part, il se rend compte qu'il n'y a rien là-bas.
Comme alternative à l' parseInt
vous pouvez utiliser Math.floor
. Cela vous donnera 0
pour ""
.