Number.MAX_SAFE_INTEGER 定数は、JavaScript において正確に扱える最大整数値を表します(253 - 1)。

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

説明

MAX_SAFE_INTEGER 定数は 9007199254740991 である値です。その数である理由は JavaScript が IEEE 754 で指定されたとおり倍精度浮動小数点型数値を使用し安全に -(253 - 1)253 - 1 との間の数を表すことができるからです。

この文脈で示している安全とは、整数を正確に表現し、正しく比較する能力を指します。たとえば、Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 は、数学的には不正確ですが true と評価されます。詳細については、Number.isSafeInteger() を見てください。

MAX_SAFE_INTEGERNumber の静的なプロパティなので、自ら生成した Number オブジェクトのプロパティとしてではなく、常に、Number.MAX_SAFE_INTEGER として使用するようにしてください。

Number.MAX_SAFE_INTEGER // 9007199254740991
Math.pow(2, 53) - 1     // 9007199254740991

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Number.MAX_SAFE_INTEGER の定義
標準 初期定義。
ECMAScript Latest Draft (ECMA-262)
Number.MAX_SAFE_INTEGER の定義
ドラフト  

ブラウザー実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 34 31 (31) 未サポート (有) 9
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) 32.0 (32) 未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama, kamimura, shide55
 最終更新者: YuichiNukiyama,