En este breve tutorial vamos a ver los diversos métodos que existen para saber si un valor es un número en JavaScript.
Usando la función isNan()
Uno de los métodos más utilizados consiste en usar la función isNaN()
, que es una función global asignada el objeto window
de JavaScript. Sin embargo, no es necesario que uses la función como windows.isNaN()
, bastando con que uses la función isNaN()
por sí sola.
La función devolverá falso siempre y cuando el valor que le pasemos sea un número, y verdadero en caso contrario. Aquí tienes varios ejemplos:
const valor = 4;
isNaN(valor); // False
isNaN('cadena'); // True
isNaN({}); // True
isNaN(1.1); // False
Tal y como ves, podemos pasarle a la función cualquier tipo de valor, ya sean valores primitivos u objetos.
También puedes ejecutar sentencias condicionales, tal que así:
const valor = 2;
if (!isNaN(valor)) {
console.log('Es un número');
}
Usando la función typeof
La función typeof se usa para saber de qué tipo es un valor en JavaScript, devolviendo 'number'
en caso de que el valor que le pasemos sea un número. Puedes pasarle directamente un valor:
typeof 2; // Devolverá 'number'
O también puedes pasarle una constante o una variable:
const valor = 2;
typeof valor; // Devolverá 'number'
También puedes ejecutar sentencias condicionales, tal que así:
const valor = 2;
if (typeof valor === 'number') {
console.log('Es un número');
}
Y esto ha sido todo.
MUCHAS GRACIAS :D
Muchas Gracias
gracias me funciono para hacer una validación ya que con el if simple me salía un bug
gracias me funciono
La primera opción no es válida para espacios vacios, ej. isNaN(»);//false
Gracias, lo entendí perfecto.
Para tener en cuenta, el isNaN no valida todo los tipos, al pasarle un valor como null esto devolvería false (el mismo resultado que si le pasas un númerico)
Excelente, breve y conciso, muy útil, gracias.