Number.isSafeInteger()
メソッドは、引数として与えた数が safe integer かどうかの真偽値を返します。safe integer は下記を満たす整数です。
- 正確に IEEE-754 倍精度数として表すことができます。
- IEEE-754 の表現は、IEEE-754 の表現に適合するように、他の整数を丸めた結果にすることはできません。
例えば、253 - 1
は safe integer です。正確に表現することができ、他の整数は、任意の IEEE-754 丸めモードの下で丸めていません。対照的に、253
は safe integer ではありません。 : IEEE-754 で正確に表現されますが、整数値 253 + 1
は直接 IEEE-754 では表現できません。代わりに四捨五入、0 への丸めによって 253
に丸められます。
safe integer は -(253 - 1)
以上 253 - 1
以下の整数値です。
構文
Number.isSafeInteger(testValue)
引数
testValue
- safe integer かどうかテストされる値
Return value
与えられた値が safe integer かどうかを示すBoolean
。
例
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
ポリフィル
Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; };
仕様
仕様 | 状況 | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Number.isSafeInteger の定義 |
標準 | 初期定義。 |
ECMAScript 2017 Draft (ECMA-262) Number.isSafeInteger の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | (有) | 32 (32) | 未サポート | (有) | 10.0 |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 未サポート | 32.0 (32) | 未サポート | 未サポート | 未サポート |
関連情報
- このメソッドが所属する
Number
オブジェクト。 Number.MIN_SAFE_INTEGER
Number.MAX_SAFE_INTEGER