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