Cómo comprobar si una valor es un número en JavaScript

Javascript

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.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

8 comentarios en “Cómo comprobar si una valor es un número en JavaScript

  1. 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)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”