MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

Number.MAX_SAFE_INTEGER

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 2017 Draft (ECMA-262)
Number.MAX_SAFE_INTEGER の定義
ドラフト  

ブラウザー実装状況

機能 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,