Существуют быстродействующие решения, если вам нужна скорость.
function isInt(v) { return v === ~~v; }
function isNumber(v) { return v === +v; }
function isNumeric(v) { return v === +v || v === +v + ''; }
function isIntLike(v) { return v === ~~v || v === ~~v + ''; }
Все соответствующие проверки могут быть определены без вызовов функций.
Обратите внимание, что NaN !== NaN
, поэтому isNaN
вызов не требуется.