JavaScript Equality Operators
New Courses Coming Soon
Join the waiting lists
Learn the basics of the JavaScript Equality Operators
Those operators accept two values and return a boolean:
==
checks for equality!=
checks for inequality===
checks for strict equality!==
checks for strict inequality
Let’s talk what we mean for strict. Without the strict check, the second operand is converted to the type of the first before making the comparison. Strict prevents this.
Examples:
const a = true
a == true //true
a === true //true
1 == 1 //true
1 == '1' //true
1 === 1 //true
1 === '1' //false
You cannot check objects for equality: two objects are never equal to each other. The only case when a check might be true is if two variables reference the same object.
Some peculiarities to be aware: NaN
is always different from NaN
.
NaN == NaN //false
null
and undefined
values are equal if compared in non-strict mode:
null == undefined //true
null === undefined //false
→ 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