カテゴリ: JavaScript 更新日: 2025/12/09

JavaScriptの数値判定メソッド(isFinite, isInteger)を解説

JavaScriptの数値判定メソッド(isFinite, isInteger)を解説
JavaScriptの数値判定メソッド(isFinite, isInteger)を解説

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで数字かどうか確認する方法ってありますか?」

先生

「はい、JavaScriptには数値判定用のメソッドがあります。特にisFiniteisIntegerが便利です。」

生徒

「違いは何ですか?」

先生

isFiniteは有限の数かどうかを確認するメソッドで、isIntegerは整数かどうかを判定するメソッドです。」

生徒

「なるほど。具体的な使い方を教えてください。」

先生

「では、基本的な例を見てみましょう。」

1. isFiniteメソッドとは?

1. isFiniteメソッドとは?
1. isFiniteメソッドとは?

isFiniteは、引数が有限の数かどうかを確認するメソッドです。Infinityや- Infinity、NaN(Not a Number)などの特別な数値はfalseを返します。有限の数であればtrueを返します。


console.log(isFinite(100));       // true
console.log(isFinite(-500.5));    // true
console.log(isFinite(Infinity));  // false
console.log(isFinite(NaN));       // false
console.log(isFinite("123"));     // true(文字列は数値に変換される)

true
true
false
false
true

文字列が数字に変換できる場合はtrueになりますが、変換できない場合はfalseになります。

2. Number.isFiniteとの違い

2. Number.isFiniteとの違い
2. Number.isFiniteとの違い

注意点として、Number.isFiniteというメソッドもあります。こちらは引数を数値として判定するため、文字列はfalseになります。


console.log(Number.isFinite(123));    // true
console.log(Number.isFinite("123"));  // false

true
false

文字列などの型変換を自動で行わないので、より厳密に判定したい場合はこちらを使います。

3. isIntegerメソッドとは?

3. isIntegerメソッドとは?
3. isIntegerメソッドとは?

isIntegerは、数値が整数かどうかを判定するメソッドです。小数点以下がある数はfalse、整数であればtrueを返します。


console.log(Number.isInteger(100));    // true
console.log(Number.isInteger(3.14));   // false
console.log(Number.isInteger(-50));    // true
console.log(Number.isInteger(NaN));    // false
console.log(Number.isInteger(Infinity));// false

true
false
true
false
false

小数や特別な数値(NaN、Infinity)にはfalseが返ることに注意しましょう。

4. isFiniteとisIntegerを組み合わせる

4. isFiniteとisIntegerを組み合わせる
4. isFiniteとisIntegerを組み合わせる

数値が有限で整数かどうかを両方チェックしたい場合は、isFiniteNumber.isIntegerを組み合わせて使うこともできます。


function isFiniteInteger(num) {
  return isFinite(num) && Number.isInteger(num);
}

console.log(isFiniteInteger(100));   // true
console.log(isFiniteInteger(3.14));  // false
console.log(isFiniteInteger(Infinity)); // false

true
false
false

これにより、より安全に数値の判定ができ、プログラムのエラーを防ぐことができます。

5. まとめではない注意点

5. まとめではない注意点
5. まとめではない注意点

数値判定メソッドを使う際のポイントは以下の通りです。

  • isFiniteは文字列も数値に変換して判定する
  • Number.isFiniteは型変換を行わず、より厳密な判定ができる
  • Number.isIntegerは整数かどうかだけを判定する
  • 特別な値(NaN、Infinity)は判定結果に注意する
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New2
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
New3
JavaScript
JavaScriptの正規表現で任意の1文字(.)や文字クラスを使う方法
New4
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの配列の要素にアクセスする方法(インデックス番号の使い方)
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)