Number.NEGATIVE_INFINITY

The Number.NEGATIVE_INFINITY property represents the negative Infinity value.

Property attributes of Number.NEGATIVE_INFINITY
Writable no
Enumerable no
Configurable no

Description

The value of Number.NEGATIVE_INFINITY is the same as the negative value of the global object's Infinity property.

This 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.
  • Any negative value divided by NEGATIVE_INFINITY is positive zero.
  • 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.

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 isFinite 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 object you created.

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.

var smallNumber = (-Number.MAX_VALUE) * 2;

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

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'Number.NEGATIVE_INFINITY' in that specification.

Browser compatibility

DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
NEGATIVE_INFINITYChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support
Full support

See also