Number.MIN_VALUE

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Number.MIN_VALUE 静的データプロパティは、 JavaScript において表すことが可能な最小の正の数値を表します。

試してみましょう

function divide(x, y) {
  if (x / y < Number.MIN_VALUE) {
    return "Process as 0";
  }
  return x / y;
}

console.log(divide(5e-324, 1));
// Expected output: 5e-324

console.log(divide(5e-324, 2));
// Expected output: "Process as 0"

2-1074、または 5E-324 です。

Number.MIN_VALUE のプロパティ属性
書込可能不可
列挙可能不可
設定可能不可

解説

Number.MIN_VALUE プロパティは、浮動小数点の精度で表すことができる最小の正の数です(最も小さな負の数ではありません)。言い換えれば、最も 0 に近い数です。ECMAScript の仕様書では、実装が対応する必要のある精度を定義していません。代わりに仕様書では、「その実装で実際に表すことができる、 0 ではない最も小さな正の数でなければならない」とあります。これは、小さな IEEE-754 浮動小数点数では非正規化されるためですが、実装するためにこの表現に対応する必要はなく、その場合は Number.MIN_VALUE が大きくなる可能性があります。

実際、V8(Chrome、Edge、Node.js で使用)、SpiderMonkey(Firefox で使用)、JavaScriptCore(Safari で使用)などの主なエンジンにおける正確な値は、 2-1074 または 5E-324 です。

MIN_VALUENumber の静的プロパティですので、数値のプロパティとしてではなく、常に Number.MIN_VALUE として使用してください。

MIN_VALUE の使用

以下のコードは、2 つの数値を割り算しています。その結果が MIN_VALUE より大きいか等しい場合は、func1 関数が呼び出されます。それ以外の場合は、func2 関数が呼び出されます。

js
if (num1 / num2 >= Number.MIN_VALUE) {
  func1();
} else {
  func2();
}

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-number.min_value

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
MIN_VALUE

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報