--- title: Number.isSafeInteger() slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger tags: - ECMAScript6 - JavaScript - Method - Number translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger ---
Number.isSafeInteger()
メソッドは、指定された値が安全な整数であるかどうかを判定します。
安全な整数とは、以下のような整数です。
例えば、253 - 1
は安全な整数です。正確に表現することができ、他の整数は、どの IEEE-754 丸めモードの下で丸めたものにもなっていません。対照的に、253
は安全な整数ではありません。これは IEEE-754 で正確に表現されますが、整数値 253 + 1
が直接 IEEE-754 では表現できず、四捨五入や切り捨ての丸めによって 253
になるからです。安全な整数は -(253 - 1)
以上 253 - 1
以下の整数値です (± 9007199254740991
または ± 9,007,199,254,740,991 です)。
完全な精度で ~9 兆より大きい値や小さい値を扱うには、任意精度演算ライブラリを使用する必要があります。数値の浮動小数点表現の詳細については、 What Every Programmer Needs to Know about Floating Point Arithmetic を参照してください。s
巨大な整数値については、 {{jsxref("BigInt")}} 型を使用することを検討してください。
Number.isSafeInteger(testValue)
testValue
{{jsxref("Boolean")}} で、与えられた数値が安全な整数であるかどうかを示します。
Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; };
Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)); // false Number.isSafeInteger(Math.pow(2, 53) - 1); // true Number.isSafeInteger(NaN); // false Number.isSafeInteger(Infinity); // false Number.isSafeInteger('3'); // false Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true
仕様書 |
---|
{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} |
{{Compat("javascript.builtins.Number.isSafeInteger")}}