JavaScriptの数値に関する限界値
JavaScriptにおける数値に関する限界値と関連関数
JavaScriptでは、数値の限界値や特殊な値を扱うための特定のプロパティや関数が提供されています。これらは、数値演算やチェックを行う際に非常に役立ちます。このページでは以下の項目について詳しく解説します。
- Number.MAX_VALUE
- Number.MIN_VALUE
- Number.POSITIVE_INFINITY
- Number.NEGATIVE_INFINITY
- isFinite(value)
- Number.isFinite(value)
- Number.isInteger(value)
Number.MAX_VALUE
Number.MAX_VALUE
は、JavaScriptで扱える最大の正の数を表します。この値はおよそ 1.7976931348623157 × 10308
です。
この値を超える数値は自動的に Infinity
として扱われます。
例
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MAX_VALUE + 1); // 1.7976931348623157e+308 (丸め誤差により同じ値)
console.log(Number.MAX_VALUE * 2); // Infinity
Number.MIN_VALUE
Number.MIN_VALUE
は、JavaScriptで扱える最小の正の数(正の非ゼロ値)を表します。この値はおよそ 5 × 10-324
です。
これはゼロに非常に近い値ですが、ゼロではありません。負の数については適用されません。
例
console.log(Number.MIN_VALUE); // 5e-324
console.log(Number.MIN_VALUE / 2); // 0 (丸められて0になる)
console.log(Number.MIN_VALUE > 0); // true
Number.POSITIVE_INFINITY
Number.POSITIVE_INFINITY
は、JavaScriptで表現できる正の無限大を示します。この値は、通常の演算で限界を超えた場合や、ゼロで割った場合などに現れます。
例
console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(1 / 0); // Infinity
console.log(Number.MAX_VALUE * 2); // Infinity
Number.NEGATIVE_INFINITY
Number.NEGATIVE_INFINITY
は、JavaScriptで表現できる負の無限大を示します。この値は、負の数の計算が限界を超えた場合や負のゼロで割った場合などに現れます。
例
console.log(Number.NEGATIVE_INFINITY); // -Infinity
console.log(-1 / 0); // -Infinity
console.log(-Number.MAX_VALUE * 2); // -Infinity
isFinite(value)
isFinite(value)
は、指定された値が有限数であるかどうかを判定します。有限数とは、Infinity
や -Infinity
、NaN
ではない数値のことです。
例
console.log(isFinite(100)); // true
console.log(isFinite(Infinity)); // false
console.log(isFinite(-Infinity)); // false
console.log(isFinite(NaN)); // false
console.log(isFinite("100")); // true (文字列は数値に変換される)
console.log(isFinite("abc")); // false
Number.isFinite(value)
Number.isFinite(value)
は、isFinite
に似ていますが、数値でない値(例えば文字列やオブジェクト)を自動的に数値に変換しません。そのため、厳密なチェックを行います。
例
console.log(Number.isFinite(100)); // true
console.log(Number.isFinite(Infinity)); // false
console.log(Number.isFinite(-Infinity)); // false
console.log(Number.isFinite(NaN)); // false
console.log(Number.isFinite("100")); // false (文字列は変換されない)
console.log(Number.isFinite("abc")); // false
Number.isInteger(value)
Number.isInteger(value)
は、指定された値が整数かどうかを判定します。値が小数、無限大、NaN
である場合は false
を返します。
例
console.log(Number.isInteger(100)); // true
console.log(Number.isInteger(100.5)); // false
console.log(Number.isInteger(Infinity)); // false
console.log(Number.isInteger(NaN)); // false
console.log(Number.isInteger("100")); // false (文字列は変換されない)
まとめ
JavaScriptでは数値の範囲や状態を調べるための便利なプロパティや関数が用意されています。それぞれの違いや使用場面を理解することで、より安全で効果的なコードを書くことが可能になります。