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 | サポート済み |
| サポート済み |