What is the difference between null and undefined in JavaScript?
New Course Coming Soon:
Get Really Good at Git
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’sundefined
.
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'
→ Get my JavaScript Beginner's Handbook
→ Read my
JavaScript Tutorials
on The Valley of Code
→ Read my
TypeScript Tutorial
on The Valley of Code
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- Follow me on X