カテゴリ: JavaScript 更新日: 2026/07/22

JavaScriptのInfinityと-Infinityの意味と使い方を解説

JavaScriptのInfinityと- Infinityの意味と使い方を解説
JavaScriptのInfinityと- Infinityの意味と使い方を解説

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

生徒

「先生、JavaScriptでとても大きな数やとても小さな数を扱うとき、Infinityってよく出てきますけど、どういう意味ですか?」

先生

「Infinityは、『無限』を意味します。正の無限大はInfinity、負の無限大は-Infinityで表されます。」

生徒

「無限大って数値として使えるんですか?」

先生

「JavaScriptでは特別な数値として扱えます。計算の結果としてInfinityや-Infinityになることもあります。」

1. Infinityとは?

1. Infinityとは?
1. Infinityとは?

Infinityは、数学でいう無限大と同じ概念で、JavaScriptでは非常に大きな数値を超えた場合に自動的に割り当てられる値です。例えば、非常に大きな数を掛け算したり、1を0で割ったりした場合に出てきます。


console.log(1 / 0);   // Infinity
console.log(1e308 * 10); // Infinity

Infinity
Infinity

ここで注意したいのは、Infinityは通常の数値と同じように計算できますが、無限大なので非常に特別な扱いが必要です。

2. -Infinityとは?

2. -Infinityとは?
2. -Infinityとは?

-Infinityは負の無限大を表します。0で負の数を割ったときや、非常に大きな負の数を扱う場合に出てきます。


console.log(-1 / 0);  // -Infinity
console.log(-1e308 * 10); // -Infinity

-Infinity
-Infinity

正のInfinityと同じように、数学的な操作は可能ですが、負の無限大であることを意識して扱う必要があります。

3. Infinityと-Infinityの計算例

3. Infinityと-Infinityの計算例
3. Infinityと-Infinityの計算例

Infinityや-Infinityを使った計算は、通常の数値とは少し異なる挙動をします。


console.log(Infinity + 1000);   // Infinity
console.log(-Infinity + 1000);  // -Infinity
console.log(Infinity - Infinity); // NaN

Infinity
-Infinity
NaN

注意点として、Infinity同士の引き算や、-InfinityとInfinityの計算は定義できないためNaNになります。

4. Infinityを判定する方法

4. Infinityを判定する方法
4. Infinityを判定する方法

Infinityや-Infinityかどうかを調べたい場合、isFinite()という関数を使うと便利です。


console.log(isFinite(Infinity));   // false
console.log(isFinite(-Infinity));  // false
console.log(isFinite(1000));       // true

false
false
true

isFinite()は「有限な数値かどうか」を判定する関数です。InfinityやNaNはfalseになります。

5. Infinityの使いどころ

5. Infinityの使いどころ
5. Infinityの使いどころ

Infinityや-Infinityは、特に数値の範囲チェックや極端な値の初期化で使えます。例えば、配列の最大値や最小値を求めるときの初期値として便利です。


let numbers = [10, 50, -20, 100];
let max = -Infinity;
let min = Infinity;

for(let num of numbers){
  if(num > max) max = num;
  if(num < min) min = num;
}

console.log(max); // 100
console.log(min); // -20

100
-20

このように、-Infinityを最小値の初期化、Infinityを最大値の初期化に使うと、どんな数でも正しく比較できるので便利です。

6. Infinityを安全に扱うための注意点

6. Infinityを安全に扱うための注意点
6. Infinityを安全に扱うための注意点

Infinityや-Infinityは便利ですが、次の点に注意してください。

  • Infinity同士の引き算や掛け算はNaNになることがある
  • 他の数値と比較するときは範囲外の値として扱われる
  • 無限大を返す計算がある場合、ユーザー入力やデータベースの値に影響しないように確認する

基本的には「非常に大きい値」「非常に小さい値」を扱うときの特別な値として理解しておけば大丈夫です。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

C++のプログラミングで関数を使用すると、開発において具体的にどのようなメリットや効果がありますか?

C++のプログラミング初心者にとって、関数を使用する最大のメリットは、同じ処理を何度も繰り返し書かずに済むという点にあります。プログラム内で何度も必要になる同じ一連の処理を一つの関数としてまとめて定義しておくことで、全体のコード量を大幅に減らして短くすることができます。これにより、プログラム全体の構造がすっきりと整理整頓され、後から見返したときにも圧倒的に読みやすくなります。さらに、もし処理の内容に変更や修正が必要になった場合でも、関数を定義している中身のコードだけを修正すれば、その関数を呼び出しているすべての場所に修正が自動的に反映されるため、修正の手間やバグの発生を劇的に減らすことができるという大きな利点があります。
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptでURLを正規化(canonical)する方法を徹底解説!初心者向けにわかりやすく解説
New2
TypeScript
TypeScriptの型まとめ!安全で保守性の高いコードを書く方法
New3
TypeScript
TypeScriptのプロジェクトをtscでビルドする基本操作を解説!初心者にもわかるステップバイステップ
New4
Claude Code
Claude Codeの基本的な使い方!起動から終了まで初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの文字列を分割する方法(splitメソッド)
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで要素の表示・非表示を切り替える方法(display・visibility)を完全解説
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptでフォームの値を取得する方法を徹底解説!valueプロパティの使い道
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptのライブラリとは?標準ライブラリと外部ライブラリの違いと使い方
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptで最初に覚えたい基本構文まとめ
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptでクライアントとサーバーのバリデーションを共通化する方法!初心者向けデータ検証入門