DEV Community

Hanzla Baig
Hanzla Baig

Posted on • Originally published at dev.to on

How to Check if an Object is Empty in JavaScript (benchmark)

Using Object.keys()

169,635 ±1.83% 2% slower

function isEmptyObject(obj) {
  return Object.keys(obj).length === 0;
}

Enter fullscreen mode Exit fullscreen mode

Using for...in loop (WON)

172,973 ±0.97% fastest

function isEmptyObject(obj) {
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      return false;
    }
  }
  return true;
}

Enter fullscreen mode Exit fullscreen mode

Using JSON.stringify

164,737 ±0.83% 5% slower

function isEmptyObject(obj) {
  return JSON.stringify(obj) === '{}';
}

Enter fullscreen mode Exit fullscreen mode

Using Object.entries()

169,838 ±1.34% 2% slower

function isEmptyObject(obj) {
  return Object.entries(obj).length === 0;
}

Enter fullscreen mode Exit fullscreen mode

Test of benchmark: https://jsperf.app/govaru

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series