JavaScriptのisNaN関数は、渡された引数が数に変換できない場合はtrue、数に変換できる場合はfalseを返す。
isNan(value)
数かどうかを判定する値をリテラル又は変数で指定する。
引数に数値を指定した場合、falseが返る。
<script>
document.write("0 : " + isNaN(0) + "<br>");
document.write("1 : " + isNaN(1) + "<br>");
</script>
引数に文字列を指定した場合はtrueが返る。ただし、値を文字列形式で指定した場合はfalseが返る。
<script>
document.write("foo : " + isNaN("foo") + "<br>");
document.write("'a1' : " + isNaN('a1') + "<br>");
document.write("'1a' : " + isNaN('1a') + "<br>");
document.write("'NaN' : " + isNaN('NaN') + "<br>");
document.write("'1' : " + isNaN('1') + "<br>");
</script>
引数に配列を指定した場合、trueが返る。
<script>
document.write("[1,2,3] : " + isNaN([1,2,3]) + "<br>");
</script>
引数にオブジェクトを指定した場合、trueが返る。
<script>
document.write("{foo:1} : " + isNaN({foo:1}) + "<br>");
</script>
isNaN関数の引数にブール値を渡した場合、falseが返る。
<script>
document.write("true : " + isNaN(true) + "<br>");
</script>
isNaN関数の引数にNaN
を渡した場合、trueが返る。NaN
とは、数値ではないことを表わす特別な値である。
<script>
document.write("NaN : " + isNaN(NaN) + "<br>");
</script>