JavaScript 速習チュートリアル

JavaScript Number プロパティ

JavaScript の Number オブジェクトには、数値処理において重要な境界値や状態を示すさまざまな静的プロパティが用意されています。

  • Number.EPSILON
  • Number.MAX_VALUE
  • Number.MIN_VALUE
  • Number.MAX_SAFE_INTEGER
  • Number.MIN_SAFE_INTEGER
  • Number.POSITIVE_INFINITY
  • Number.NEGATIVE_INFINITY
  • Number.NaN

1. Number.EPSILON

Number.EPSILON は、1 と、1 より大きい最小の浮動小数点数との差を表します。これは、浮動小数点演算における精度の比較などで利用されます。

let x = Number.EPSILON;
  • Number.EPSILON は ES6 で導入された機能です。
  • Internet Explorer では動作しません。

2. Number.MAX_VALUE

Number.MAX_VALUE は、JavaScript において表現可能な最大の数値を表す定数です。

let x = Number.MAX_VALUE;

2.1 変数に対してプロパティは使用不可

Number プロパティは JavaScript の Number オブジェクト に属する静的プロパティです。
これらは Number.MAX_VALUE のように直接アクセスする必要があります。

変数やリテラル値に対して x.MAX_VALUE のようにアクセスすると、undefined が返されます。

let x = 6;
x.MAX_VALUE; // undefined を返します

3. Number.MIN_VALUE

Number.MIN_VALUE は、JavaScript において表現可能な最小の数値を表す定数(0 に最も近い正の数)です。

let x = Number.MIN_VALUE;

4. 安全な整数の範囲(Safe Integers)

ES6 では、Number オブジェクトに最大および最小の「安全な整数」を定義するプロパティが追加されました。

  • Number.MAX_SAFE_INTEGER
  • Number.MIN_SAFE_INTEGER

4.1 Number.MIN_SAFE_INTEGER

Number.MIN_SAFE_INTEGER は、JavaScript における最小の安全な整数を表します。

値は -(2^53 - 1) です。

let x = Number.MIN_SAFE_INTEGER;

4.2 Number.MAX_SAFE_INTEGER

Number.MAX_SAFE_INTEGER は、JavaScript における最大の安全な整数を表します。

値は +(2^53 - 1) です。

let x = Number.MAX_SAFE_INTEGER;

5. JavaScript の無限大(Infinity)

5.1 Number.POSITIVE_INFINITY

Number.POSITIVE_INFINITY は正の無限大を表します。

let x = Number.POSITIVE_INFINITY;

数値がオーバーフロー(Overflow)した際にも返されます。

let x = 1 / 0; // POSITIVE_INFINITY

5.2 Number.NEGATIVE_INFINITY

Number.NEGATIVE_INFINITY は負の無限大を表します。

let x = Number.NEGATIVE_INFINITY;

負の数値がオーバーフローした際に返されます。

let x = -1 / 0; // NEGATIVE_INFINITY

6. Number.NaN - Not a Number

NaN は「Not a Number(数値ではない)」を意味する JavaScript の予約語であり、不正な数値演算の結果として生成されます。

let x = Number.NaN;

数値ではない文字列に対して算術演算を行おうとすると、結果は NaN になります。

let x = 100 / "Apple"; // 結果は NaN

実務では、計算結果が妥当な数値かどうかを判定するために Number.isNaN() メソッドと併せてこれらのプロパティを理解しておくことが不可欠です。