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 を使用することを検討してください。

試してみましょう

const x = Number.MIN_SAFE_INTEGER - 1;
const y = Number.MIN_SAFE_INTEGER - 2;

console.log(Number.MIN_SAFE_INTEGER);
// Expected output: -9007199254740991

console.log(x);
// Expected output: -9007199254740992

console.log(x === y);
// Expected output: true

-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® 2025 Language Specification
# sec-number.min_safe_integer

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
MIN_SAFE_INTEGER

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報