Skip to content

What is the difference between null and undefined in JavaScript?

Let’s talk about the similarities first.

null and undefined are JavaScript primitive types.

The meaning of undefined is to say that a variable has declared, but it has no value assigned.

let age //age is undefined
let age = null //age is null

Note: accessing a variable that’s not been declared will raise a ReferenceError: <variable> is not defined error, but this does not mean it’s undefined.

How do you check if a variable is null? Use the comparison operator, for example age === null

Same for undefined: age === undefined

In both cases, you can check for:

if (!age) {

}

and this will be matching both null and undefined.

You can also use the typeof operator:

let age
typeof age //'undefined'

although null is evaluated as an object, even though it is a primitive type:

let age = null
typeof age //'object'

→ 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