Fast checking for Empty Objects in JavaScript

It is a very common requirement that is needed by many JavaScript developers to check if an object is empty in JavaScript without having to write more than one line of code. In the old days, you usually had to make the following for … loop in a common function isEmpty in order to check if the object is empty:

function isEmpty(myObject) {
    for(var key in myObject) {
        if (myObject.hasOwnProperty(key)) {
            return false;

    return true;

Thanks to ECMAScript 5, you can now just use the Object.keys() function to check the object keys, so you can check if the myObject (for example) is empty as follows:

Object.keys(myObject).length == 0

3 thoughts on “Fast checking for Empty Objects in JavaScript

  1. @Scrogu: Great Comment.
    However, I did not mean: “Fast in performance”, I mean “Fast in checking from the effort perspective”.
    Thanks a lot for the notice regarding performance.

  2. Keep in mind that this is not supported in IE8. You might need a need a polyfill go cover those bases.

Comments are closed.