概要
正の無限大を表す値。
| 実装されたバージョン |
JavaScript 1.1, NES 2.0 |
| ECMA バージョン |
ECMA-262 |
説明
Number.POSITIVE_INFINITY の値はグローバルオブジェクトの Infinity プロパティの値と同じです。
この値は数学的な無限大とは少々異なった振る舞いをします。
- POSITIVE_INFINITY も含む、任意の正の値と POSITIVE_INFINITY の積は POSITIVE_INFINITY になります。
- NEGATIVE_INFINITY も含む、任意の負の値と POSITIVE_INFINITY の積は NEGATIVE_INFINITY になります。
- 零 と POSITIVE_INFINITY の積は NaN になります。
- NaN と POSITIVE_INFINITY の積は NaN になります。
- POSITIVE_INFINITY を NEGATIVE_INFINITY を除く、任意の負の値で割った商は NEGATIVE_INFINITY になります。
- POSITIVE_INFINITY を POSITIVE_INFINITY を除く、任意の正の値で割った商は POSITIVE_INFINITY になります。
- POSITIVE_INFINITY を NEGATIVE_INFINITY と POSITIVE_INFINITY のどちらかで割った商は NaN になります。
- 任意の数を POSITIVE_INFINITY で割った商は、零 になります。
いくつかの JavaScript メソッド (Number コンストラクタ、parseFloat、parseInt など) は、引数で指定された値が Number.MAX_VALUE よりも著しく高い場合、NaN を返します。
成功した場合に有限数を返す関数がエラーである状態を示すために、Number.POSITIVE_INFINITY プロパティを使いたいかもしれません。しかし、そのような場合は isFinite の方がより適しているであろうことに留意してください。
例
以下の例では、変数 bigNumber に最大値よりも大きな値が代入されています。if ステートメントが実行されるとき、bigNumber は "Infinity" の値を持つので、処理が継続する前に bigNumber により扱いやすい値がセットされます。
var bigNumber = Number.MAX_VALUE * 2
if (bigNumber == Number.POSITIVE_INFINITY) {
bigNumber = returnFinite();
}