Number.NEGATIVE_INFINITY

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.

The Number.NEGATIVE_INFINITY static data property represents the negative Infinity value.

Try it

Value

The same as the negative value of the global Infinity property.

Property attributes of Number.NEGATIVE_INFINITY
Writableno
Enumerableno
Configurableno

Description

The Number.NEGATIVE_INFINITY value behaves slightly differently than mathematical infinity:

  • Any positive value, including POSITIVE_INFINITY, multiplied by NEGATIVE_INFINITY is NEGATIVE_INFINITY.
  • Any negative value, including NEGATIVE_INFINITY, multiplied by NEGATIVE_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 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.

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.

js
let smallNumber = -Number.MAX_VALUE * 2;

if (smallNumber === Number.NEGATIVE_INFINITY) {
  smallNumber = returnFinite();
}

Specifications

Specification
ECMAScript Language Specification
# sec-number.negative_infinity

Browser compatibility

BCD tables only load in the browser

See also