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

YURII DE. - Jun 6 - - Dev Community

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .