Number.MIN_SAFE_INTEGER

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Number.MIN_SAFE_INTEGER 静的データプロパティは、JavaScript における安全な整数の最小値 (-(253 - 1)) を表します。

これよりも小さな整数値を表す場合は、 BigInt を使用することを検討してください。

試してみましょう

-9007199254740991(-9,007,199,254,740,991、またはおよそ -9 千兆)です。

Number.MIN_SAFE_INTEGER のプロパティ属性
書込可能不可
列挙可能不可
設定可能不可

解説

倍精度浮動小数点型数値仮数部を表わすのに 52 ビットしかないため、安全に表現できる整数は -(253 – 1) と 253 – 1 との間です。この文脈で示している「安全」とは、整数を正確に表現し、正しく比較する能力を指します。たとえば、 Number.MIN_SAFE_INTEGER - 1 === Number.MIN_SAFE_INTEGER - 2 は、数学的には不正確ですが true と評価されます。詳細については Number.isSafeInteger() を見てください。

MIN_SAFE_INTEGERNumber の静的プロパティですので、 数値のプロパティとしてではなく、常に Number.MIN_SAFE_INTEGER として使用してください。

MIN_SAFE_INTEGER の使用

js
Number.MIN_SAFE_INTEGER; // -9007199254740991
-(2 ** 53 - 1); // -9007199254740991

仕様書

Specification
ECMAScript Language Specification
# sec-number.min_safe_integer

ブラウザーの互換性

BCD tables only load in the browser

関連情報