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 evenisFinite('')istrue). 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).