This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Number.NEGATIVE_INFINITY static data property represents the negative Infinity value.
function checkNumber(smallNumber) {
if (smallNumber === Number.NEGATIVE_INFINITY) {
return "Process number as -Infinity";
}
return smallNumber;
}
console.log(checkNumber(-Number.MAX_VALUE));
// Expected output: -1.7976931348623157e+308
console.log(checkNumber(-Number.MAX_VALUE * 2));
// Expected output: "Process number as -Infinity"
The same as the negative value of the global Infinity property.
Property attributes of Number.NEGATIVE_INFINITY
| |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
The Number.NEGATIVE_INFINITY value behaves slightly differently than mathematical infinity:
POSITIVE_INFINITY, multiplied by NEGATIVE_INFINITY is NEGATIVE_INFINITY.NEGATIVE_INFINITY, multiplied by NEGATIVE_INFINITY is POSITIVE_INFINITY.NEGATIVE_INFINITY is negative zero (as defined in IEEE 754).NEGATIVE_INFINITY is positive zero (as defined in IEEE 754).NEGATIVE_INFINITY is NaN.NaN multiplied by NEGATIVE_INFINITY is NaN.NEGATIVE_INFINITY, divided by any negative value except NEGATIVE_INFINITY, is POSITIVE_INFINITY.NEGATIVE_INFINITY, divided by any positive value except POSITIVE_INFINITY, is NEGATIVE_INFINITY.NEGATIVE_INFINITY, divided by either NEGATIVE_INFINITY or POSITIVE_INFINITY, is NaN.x > Number.NEGATIVE_INFINITY is true for any number x that isn't NEGATIVE_INFINITY.You might use the Number.NEGATIVE_INFINITY property to indicate an error condition that returns a finite number in case of success. Note, however, that NaN would be more appropriate in such a case.
Because NEGATIVE_INFINITY is a static property of Number, you always use it as Number.NEGATIVE_INFINITY, rather than as a property of a number value.
In the following example, the variable smallNumber is assigned a value that is smaller than the minimum value. When the if statement executes, smallNumber has the value -Infinity, so smallNumber is set to a more manageable value before continuing.
let smallNumber = -Number.MAX_VALUE * 2;
if (smallNumber === Number.NEGATIVE_INFINITY) {
smallNumber = returnFinite();
}
| 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 | |
NEGATIVE_INFINITY |
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/NEGATIVE_INFINITY