Infinity は JavaScript におけるグローバルオブジェクトの一つで、無限大を表します。これは数値型の特殊な値であり、正の無限大を示します。Infinity は数値型に含まれ、計算で発生する結果や明示的に設定された値として利用されます。

Infinity は以下の場合に現れます:

  • 正の数を 0 で割る場合
  • 非常に大きい数値が数値型の上限を超えた場合

また、負の無限大を表すには -Infinity を使用します。

特徴

編集
  • Infinity はプリミティブ型(数値型)の一部であり、グローバルスコープで利用可能です。
  • typeof Infinity"number" を返します。
  • Infinity 自体は変更できない定数であり、常に正の無限大を表します。

使用例

編集

以下の例は、Infinity の特性を示します。

console.log(Infinity); // Infinity
console.log(-Infinity); // -Infinity

// 0 で割った場合
console.log(1 / 0); // Infinity
console.log(-1 / 0); // -Infinity

// -0 で割った場合
console.log(1 / -0); // -Infinity
console.log(-1 / -0); // Infinity

// Infinity を使った比較
console.log(Infinity > 1000000); // true
console.log(-Infinity < -1000000); // true

Infinity は演算にも使用できます。

console.log(Infinity + 1); // Infinity
console.log(Infinity - Infinity); // NaN
console.log(Infinity * 2); // Infinity
console.log(Infinity / Infinity); // NaN
console.log(Infinity == Infinity); // true
console.log(Infinity > Infinity); // false

数値上限と Infinity

編集

JavaScript の数値型には最大値と最小値が定義されています。Number.MAX_VALUE を超える数値演算の結果は、Infinity になります。

console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MAX_VALUE * 2); // Infinity

負の数においても同様に、Number.MIN_VALUE を下回る演算の結果は -Infinity になります。

Infinity の比較

編集

Infinity は他の任意の有限数よりも常に大きいとみなされます。これを利用して値の範囲を確認できます。

let value = 1000;
if (value < Infinity) {
  console.log("値は無限大未満です。");
}

また、-Infinity は他の任意の有限数よりも常に小さいです。

注意点

編集
  • Infinity を含む一部の演算では、結果が非数(NaN)になる場合があります。特に、Infinity - InfinityInfinity / Infinity のような演算では注意が必要です。
  • 浮動小数点数の性質上、非常に大きな値でも必ずしも Infinity に到達するわけではありません。

仕様

編集

Infinity は ECMAScript の初期バージョンから存在しており、すべての JavaScript 環境でサポートされています。

関連項目

編集

ブラウザサポート

編集

Infinity は、すべての主要なブラウザおよび JavaScript 実行環境でサポートされています。以下の表にブラウザのサポート状況を示します。

ブラウザ サポート
Chrome サポート済み
Firefox サポート済み
Safari サポート済み
Edge サポート済み
Internet Explorer サポート済み