私がオススメするプログラミング教材です

【JavaScript入門】数値かどうかを判定する方法

更新日:

記事の内容


この記事では、JavaScriptで数値を判定する方法を説明します。
isNaN、Number.isNaN、isFinite、Number.isFinite、Number.isInteger、正規表現を使います。
JavaScriptのコードは、ES6で書いています。

isNaN(is Not a Number)

isNaN()関数は引数が 、NaN (Not a Number)かどうかを判定します。
下記のコード例では、数字、数字の文字列、16進数などの動作を確認しています。

isNaN関数の動作は、数値ではない引数における動作がわかりづらいです。
なぜならば、isNaN関数の引数が数値型ではない場合、その値はまず数字へと型強制されるからです。
その結果の値に対して、NaNかどうかを判定します。
このようにして、数値型に型強制される際に結果がNaN ではない数値となる非数値に対しては、予想外なことに "false" が返されます。
型強制されると0や1の値になる「空文字列」「真偽値」「プリミティブ」などは使用する時に気をつける必要があります。

Number.isNaN

この関数は、型強制が行われません。

isFinite

有限数かどうかを判定します。
この関数は、暗黙の型変換が行われます。

Number.isFinite

有限数かどうかを判定します。
暗黙の型変換が行われません。

Number.isInteger

値が整数かどうかを判定します。

正規表現

正規表現で数値を判断することもできます。

まとめ

この記事を読んだところで、どの関数を使えばいいのか迷うかもしれません。
簡単な指針を書くので、参考にして下さい。

  • 文字列の数字を判断したいなら、正規表現
  • 少数を許容するなら、Number.isFinite()
  • 整数なら、Number.isInteger()

Good luck with your engineer life!

JavaScriptをより詳しく勉強したい人には、この記事がオススメです


Node.jsをより詳しく勉強したい人には、この記事がオススメです


TypeScriptをより詳しく勉強したい人には、この記事がオススメです


Reactをより詳しく勉強したい人には、この記事がオススメです


Vue.jsをより詳しく勉強したい人には、この記事がオススメです


Gitをより詳しく勉強したい人には、この記事がオススメです


関数型言語をより詳しく勉強したい人には、この記事がオススメです


ゼロからWebエンジニアになりたい人には、この記事がオススメです


独学で実務っぽい経験を積みたい人には、この記事がオススメです

-JavaScript, プログラミング

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.