JavaScript/Infinity
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 - Infinity
やInfinity / Infinity
のような演算では注意が必要です。- 浮動小数点数の性質上、非常に大きな値でも必ずしも
Infinity
に到達するわけではありません。
仕様
編集Infinity
は ECMAScript の初期バージョンから存在しており、すべての JavaScript 環境でサポートされています。
関連項目
編集ブラウザサポート
編集Infinity
は、すべての主要なブラウザおよび JavaScript 実行環境でサポートされています。以下の表にブラウザのサポート状況を示します。
ブラウザ | サポート |
---|---|
Chrome | サポート済み |
Firefox | サポート済み |
Safari | サポート済み |
Edge | サポート済み |
サポート済み |