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

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になることがある
  • 他の数値と比較するときは範囲外の値として扱われる
  • 無限大を返す計算がある場合、ユーザー入力やデータベースの値に影響しないように確認する

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

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScript × ES6の連携まとめ!安全でモダンなJavaScript開発の鍵
New2
TypeScript
TypeScriptの型システムとは?静的型付けのメリットと基本
New3
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New4
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する