How to test for an empty object in JavaScript
New Courses Coming Soon
Join the waiting lists
Today I had the need to check if an object was empty.
Since in JavaScript objects are compared by reference, we can’t do a simple comparison like this:
const obj = {}
if (obj === {}) {
//no
}
The solution is to pass the object to the built-in method Object.keys()
and to check if the object constructor is Object
:
const obj = {}
Object.keys(obj).length === 0 && obj.constructor === Object
It’s important to add the second check, to avoid false positives.
→ 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