Número finito
El método estático Number.isFinite(arg) devuelve true si el argumento es un valor numérico finito, es decir representable por Javascript.
En matemáticas infinito más que un valor es un concepto, es lo que es más grande que lo más grande. Así es el resultado, por ejemplo, de dividir por 0.
En Javascript es algo más concreto, un valor finito es un valor que puede almacenarse en una variable del lenguaje.
A diferencia del mundo analógico de la vida real, en un ordenador las variables tienen un espacio limitado en el que pueden almacenar valores, existe unos valores máximo y mínimo que puede guardarse y manejarse, los valores que se salgan de ese rango no son valores finitos.
Solo cuando un número es diferente de infinity y no es NaN este método devuelve true.
var numero = 100;
var cociente = numero/0
var otro = null
var nonum = "$123";
vas max = Math.pow(2,1024) //2 elevado a 1024
console.log("100 " + Number.isFinite(numero) ); // true
console.log("numero/0 " +Number.isFinite(cociente) ); // false
console.log("null "+Number.isFinite(otro) ); // true
console.log("$123" + Number.isFinite(nonum) ); // false
console.log("2^1024" + Number.isFinite(max ); // false
En el ejemplo tienes diferentes posibilidades. Observa que si no usas el nombre del constructor Number la función que estas ejecutando e la global isFinite(), que antes de comprobar hace una conversión interna de tipo de datos.
var cifra = "100"
console.log("Number.isFinite() "+Number.isFinite(cifra) ); // false
console.log("isFinite() " + isFinite(cifra) ); // true
Esto ocurre porque el método global isFinite() hace una conversión de tipo y Number.isFinite() solo trabaja con valores tipo number.