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.

scripts