【Node.js24.x】Number::MAX_SAFE_INTEGER定数の使い方
MAX_SAFE_INTEGER定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Number.MAX_SAFE_INTEGER定数は、JavaScriptのNumber型で安全に表現できる最大の整数を表す定数です。この定数が保持する値は、9007199254740991であり、これは2の53乗から1を引いた数に相当します。
JavaScriptで数値がどのように扱われるかを知る上で、この定数は非常に重要です。JavaScriptのNumber型は、国際標準であるIEEE 754倍精度浮動小数点数形式に従って数値を表現します。この形式では、特定の範囲内の整数のみが、その値を一意かつ正確に表現できます。具体的には、-2の53乗から2の53乗までの範囲(つまり、-9007199254740992から9007199254740992まで)の整数は、精度を失うことなく表現が可能です。
MAX_SAFE_INTEGERは、この範囲の正の整数側で、最も大きな「安全な」値を指します。「安全な」とは、その整数値と、それに1を足した値(NとN+1)とが、JavaScriptのNumber型で明確に区別できることを意味します。この定数を超える整数、またはこの定数の負の値を下回る整数をNumber型で計算すると、数値の精度が失われたり、丸め誤差が生じたりして、予期しない結果になる可能性があります。
システム開発において、特にデータベースのID、タイムスタンプ、または大規模な数値計算など、厳密な精度が求められる場面で大きな整数を扱う際には、このMAX_SAFE_INTEGERの制約を理解しておくことが不可欠です。この値よりも大きな整数を正確に扱う必要がある場合は、JavaScriptのBigInt型を使用するなど、Number型以外のデータ型を検討する必要があります。この定数を利用することで、Number型で扱う数値の安全な上限をプログラムで確認し、適切な数値処理を実装するための判断基準とすることができます。
構文(syntax)
1console.log(Number.MAX_SAFE_INTEGER);
引数(parameters)
引数なし
引数はありません
戻り値(return)
number
JavaScript で表現できる安全な整数の上限値を示す数値です。この値を超える整数を扱うと、精度の問題が発生する可能性があります。