javascript 整数が53bit(2の53乗)-1の範囲であるかを判定する

javascript 整数が53bit(2の53乗)-1の範囲であるかを判定する

javascriptで、isSafeIntegerを使って、整数が53bit(2の53乗)-1である「 9007199254740991 」の範囲であるかを判定するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 84.0.4147.105

isSafeInteger使い方

isSafeIntegerを使用すると、利用しようとしている整数が53bit(2の53乗)-1である「 9007199254740991 」の範囲であるかを判定することが可能です。

「NaN」や「Infinity」も「false」になります。

ちなみに、BigIntを使用しないと、53bit(2の53乗)である「 9007199254740992 」以上の数値を扱うと以下のように結果がおかしくなります。

実行結果