プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【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 for your engineer life!

JavaScriptをより詳しく勉強したい人は、この記事を読んで下さい

【ES6対応も説明】JavaScriptとTypeScriptの学習でおすすめの本と動画【2020年】

初心者向け いちばんやさしいJavaScriptの教本 プログラミング初心者にも簡単に理解できるような書き方がされていて、ページあたりの文字数や内容も少ないので、テンポよく勉強を進めることができます。 全体像を掴むには最適な本です。 ただし ...

続きを見る


Gitをより詳しく勉強したい人は、この記事を読んで下さい

Gitの学習でおすすめの本と動画【2020年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 初心者向け Gitが、おもしろいほどわかる基本の使い ...

続きを見る


関数型言語をより詳しく勉強したい人は、この記事を読んで下さい

関数型言語の学習でおすすめの本と動画【2020年最新】

初心者向け 入門Haskellプログラミング Haskell言語を使って、関数型言語について学んでいくことができます。 豊富なサンプルコードと練習問題があり、レッスン形式で学んでいくことができます。 非常にわかりやすい入門書です。 中級者向 ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-JavaScript, プログラミング

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