Number.isFinite()

The Number.isFinite() method determines whether the passed value is a finite number — that is, it checks that the type of a given value is Number, and the number is neither positive Infinity, negative Infinity, nor NaN.

Syntax

Number.isFinite(value)

Parameters

value

The value to be tested for finiteness.

Return value

The boolean value true if the given value is a finite number. Otherwise false.

Description

In comparison to the global isFinite() function, this method doesn't first convert the parameter to a number. This means only values of the type number and are finite return true.

Examples

Using isFinite

Number.isFinite(Infinity);  // false
Number.isFinite(NaN);       // false
Number.isFinite(-Infinity); // false

Number.isFinite(0);         // true
Number.isFinite(2e64);      // true

Number.isFinite('0');       // false, would've been true with
                            // global isFinite('0')
Number.isFinite(null);      // false, would've been true with
                            // global isFinite(null)

Polyfill

if (Number.isFinite === undefined) Number.isFinite = function(value) {
    return typeof value === 'number' && isFinite(value);
}

Specifications

Specification
ECMAScript Language Specification (ECMAScript)
# sec-number.isfinite

Browser compatibility

BCD tables only load in the browser

See also

  • A polyfill of Number.isFinite is available in core-js
  • The Number object it belongs to.
  • The global function isFinite.