This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Number.MAX_VALUE static data property represents the maximum numeric value representable in JavaScript.
function multiply(x, y) {
if (x * y > Number.MAX_VALUE) {
return "Process as Infinity";
}
return x * y;
}
console.log(multiply(1.7976931348623157e308, 1));
// Expected output: 1.7976931348623157e+308
console.log(multiply(1.7976931348623157e308, 2));
// Expected output: "Process as Infinity"
21024 - 2971, or approximately 1.7976931348623157E+308.
Property attributes of Number.MAX_VALUE
| |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Values larger than MAX_VALUE are represented as Infinity and will lose their actual value. As mentioned in Number.EPSILON, the precision of numbers depends on their magnitude. Integers can only be represented precisely up to Number.MAX_SAFE_INTEGER, which is 253 - 1.
Because MAX_VALUE is a static property of Number, you always use it as Number.MAX_VALUE, rather than as a property of a number value.
The following code multiplies two numeric values. If the result is less than or equal to MAX_VALUE, the func1 function is called; otherwise, the func2 function is called.
if (num1 * num2 <= Number.MAX_VALUE) {
func1();
} else {
func2();
}
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
MAX_VALUE |
1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 | 1.0.0 | 1.0 | 0.10.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE