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
}

→ Get my JavaScript Beginner's Handbook

I wrote 21 books to help you become a better developer:

  • HTML Handbook
  • Next.js Pages Router Handbook
  • Alpine.js Handbook
  • HTMX Handbook
  • TypeScript Handbook
  • React Handbook
  • SQL Handbook
  • Git Cheat Sheet
  • Laravel Handbook
  • Express Handbook
  • Swift Handbook
  • Go Handbook
  • PHP Handbook
  • Python Handbook
  • Linux Commands Handbook
  • C Handbook
  • JavaScript Handbook
  • Svelte Handbook
  • CSS Handbook
  • Node.js Handbook
  • Vue Handbook
...download them all now!

Related posts that talk about js: