Number.POSITIVE_INFINITY

Summary

The Number.POSITIVE_INFINITY property represents the positive Infinity value.

You do not have to create a Number object to access this static property (use Number.POSITIVE_INFINITY).

Property attributes of Number.POSITIVE_INFINITY
Writable No
Enumerable No
Configurable No

Description

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

This value behaves slightly differently than mathematical infinity:

  • Any positive value, including POSITIVE_INFINITY, multiplied by POSITIVE_INFINITY is POSITIVE_INFINITY.
  • Any negative value, including NEGATIVE_INFINITY, multiplied by POSITIVE_INFINITY is NEGATIVE_INFINITY.
  • Zero multiplied by POSITIVE_INFINITY is NaN.
  • NaN multiplied by POSITIVE_INFINITY is NaN.
  • POSITIVE_INFINITY, divided by any negative value except NEGATIVE_INFINITY, is NEGATIVE_INFINITY.
  • POSITIVE_INFINITY, divided by any positive value except POSITIVE_INFINITY, is POSITIVE_INFINITY.
  • POSITIVE_INFINITY, divided by either NEGATIVE_INFINITY or POSITIVE_INFINITY, is NaN.
  • Any number divided by POSITIVE_INFINITY is Zero.

Several JavaScript methods (such as the Number constructor, parseFloat, and parseInt) return NaN if the value specified in the parameter is significantly higher than Number.MAX_VALUE.

You might use the Number.POSITIVE_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.

Example

In the following example, the variable bigNumber is assigned a value that is larger than the maximum value. When the if statement executes, bigNumber has the value "Infinity", so bigNumber is set to a more manageable value before continuing.

var bigNumber = Number.MAX_VALUE * 2
if (bigNumber == Number.POSITIVE_INFINITY) {
 bigNumber = returnFinite();
}

Specifications

Specification Status Comment
ECMAScript 1st Edition. Implemented in JavaScript 1.1 Standard Initial definition.
ECMAScript Language Specification 5.1th Edition (ECMA-262) Standard  
ECMAScript Language Specification 6th Edition (ECMA-262) Draft  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

Document Tags and Contributors

Contributors to this page: evilpie, Sheppy, fscholz, Sevenspade, Mgjbot, Ptak82, Potappo, Diablownik
Last updated by: fscholz,