Number.isFinite()

Number.isFinite(value)

Returns true only for a number that is not NaN, Infinity or -Infinity. It does not convert strings.

Parameters

  • value – the tested value.

Return value

true or false.

Examples

console.log(Number.isFinite(42), Number.isFinite(1 / 0), Number.isFinite(NaN));
console.log(Number.isFinite('42'), isFinite('42'));
const average = (arr) => arr.reduce((a, b) => a + b, 0) / arr.length;
console.log(average([]), Number.isFinite(average([])) ? 'calculated' : 'cannot be calculated');

Output:

true false false
false true
NaN cannot be calculated

Things to watch out for

  • The global isFinite() converts to a number first (isFinite('42') and even isFinite('') is true). Use Number.isFinite().

Browser support

Baseline – widely available: in all major browsers since September 2015, considered widely available since March 2018. Since version: Chrome 19, Firefox 16, Safari 9; Node.js 0.10.0. As of October 2026 (MDN browser-compat-data).

Related:
Number.isNaN()
Number.isInteger()
Number()