The Number.NEGATIVE_INFINITY
static data property represents the negative Infinity value.
Value
The same as the negative value of the global Infinity property.
Description
The Number.NEGATIVE_INFINITY
value behaves slightly differently than mathematical infinity:
- Any positive value, including POSITIVE_INFINITY, multiplied by
NEGATIVE_INFINITY
isNEGATIVE_INFINITY
. - Any negative value, including
NEGATIVE_INFINITY
, multiplied byNEGATIVE_INFINITY
is POSITIVE_INFINITY. - Any positive value divided by
NEGATIVE_INFINITY
is negative zero (as defined in IEEE 754). - Any negative value divided by
NEGATIVE_INFINITY
is positive zero (as defined in IEEE 754). - Zero multiplied by
NEGATIVE_INFINITY
is NaN. - NaN multiplied by
NEGATIVE_INFINITY
is NaN. NEGATIVE_INFINITY
, divided by any negative value exceptNEGATIVE_INFINITY
, is POSITIVE_INFINITY.NEGATIVE_INFINITY
, divided by any positive value except POSITIVE_INFINITY, isNEGATIVE_INFINITY
.NEGATIVE_INFINITY
, divided by eitherNEGATIVE_INFINITY
or POSITIVE_INFINITY, is NaN.x > Number.NEGATIVE_INFINITY
is true for any number x that isn'tNEGATIVE_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.
Examples
Using NEGATIVE_INFINITY
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();
}