Skip to content

How to check if a value is a number in JavaScript

How is it possible to determine if a variable value is a number?

We have various ways to check if a value is a number.

The first is isNaN(), a global variable, assigned to the window object in the browser:

const value = 2

isNaN(value) //false

isNaN('test') //true

isNaN({}) //true

isNaN(1.2) //false

If isNaN() returns false, the value is a number.

Another way is to use the typeof operator. It returns the 'number' string if you use it on a number value:

typeof 1 //'number'

const value = 2

typeof value //'number'

So you can do a conditional check like this:

const value = 2
if (typeof value === 'number') {
  //it's a number
}

→ Here's my latest YouTube video

→ Get my JavaScript Beginner's Handbook

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list