Почему
с isNaN("") Я получаю False
Но
с parseInt("") я получаю NaN
?
Ответ 1
isNaN принимает целое число в качестве аргумента, поэтому JS преобразует "" в 0
parseInt принимает строку в качестве аргумента, поэтому пустая строка не является числом
Ответ 2
Это потому, что "" эквивалентен нулю в JavaScript. Попробуйте "" == 0. Это означает, что если вы попытаетесь оценить его в численном уравнении, оно будет выглядеть как 0. Когда вы проанализируете его, с другой стороны, он понимает, что там ничего нет.
В качестве альтернативы parseInt вы можете использовать Math.floor. Это даст вам 0 для "".