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 规范并没有定义引擎实现必须支持的精确值,而是规定:“必须是实现实际上可以表示的最小非零正值”。这是因为小的 IEEE-754 浮点数是非正规数,但是实现并不要求支持这种表示方式,这种情况下 Number.MIN_VALUE 可能会更大。

在实践中,在主流引擎(如 Chrome、Edge、Node.js 使用的 V8 引擎,Firefox 使用的 SpiderMonkey 引擎,以及 Safari 使用的 JavaScriptCore 引擎)中,Number.MIN_VALUE 的精确值为 2-1074,即 5E-324

由于 MIN_VALUENumber 对象的静态属性,你应该始终将其用作 Number.MIN_VALUE,而不是作为一个数字值的属性。

示例

使用 MIN_VALUE

下面的代码对两个数值进行除法运算。如果结果大于或等于 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

参见