23 of 264 menu

Función isFinite

La función isFinite para verificar si el parámetro es un número finito (es decir, no una cadena, matriz, etc. y no infinito positivo o negativo).

Cómo funciona esta función: devolverá false, si el número es infinito positivo o negativo (es decir, Infinity) o no es un número (es decir, NaN), en otros casos devolverá true. Es decir, las cadenas, matrices, etc. se convertirán en NaN y, en consecuencia, devolverán false.

Sin embargo, hay excepciones: una cadena vacía '' devuelve true, una cadena con espacios '    ' también devuelve true, null devuelve true, para los valores true y false también se devuelve true.

Esto sucede porque estos valores se convierten en números, y no en NaN. Si necesita una verificación realmente precisa de números, que no considere número una cadena de espacios, valores booleanos y valores especiales, utilice la siguiente función isNumeric:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Vamos a entender cómo funciona. La función isFinite convierte el parámetro a número y devuelve true, si este no es Infinity, -Infinity o NaN. Así, la parte derecha descartará los valores claramente no numéricos, pero dejará valores como true, false, null, cadena vacía '' y cadena con espacios, ya que se convierten correctamente a números.

Para descartar estos valores, se necesita la función parseFloat, que para true, false, null, '', '   ' devolverá NaN. Así es como funciona la función parseFloat: convierte el parámetro a cadena, es decir, true, false, null se convierten en 'true', 'false', 'null', y luego lee un número de ella, mientras que la cadena vacía y la cadena con espacios dan NaN. Luego, el resultado de parseFloat se procesa con !isNaN, para obtener true o false en lugar de NaN. Como resultado, se descarta todo, excepto las cadenas numéricas y los números ordinarios.

Sintaxis

isFinite(valor);

Ejemplo

Ahora isFinite mostrará true, ya que el parámetro es un número:

let num = 3; console.log(isFinite(num));

Resultado de ejecutar el código:

true

Ejemplo

Ahora isFinite mostrará false, ya que el parámetro no es un número:

let num = 'abcde'; console.log(isFinite(num));

Resultado de ejecutar el código:

false

Ejemplo

Ahora isFinite mostrará false, ya que el parámetro es infinito:

let num = Infinity; console.log(isFinite(num));

Resultado de ejecutar el código:

false

Ejemplo

Ahora isFinite mostrará false, ya que 1/0 - esto es esencialmente Infinity (infinito):

let num = 1 / 0; console.log(isFinite(num));

Resultado de ejecutar el código:

false

Ejemplo

Ahora isFinite mostrará true, ya que la cadena vacía, que no es un número, es una excepción:

let num = ''; console.log(isFinite(num));

Resultado de ejecutar el código:

true

Ver también

  • la función isNaN,
    que realiza la verificación de NaN
  • el operador typeof,
    que determina el tipo de datos
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar