Como verificar se um objeto está vazio no JavaScript?

image_pdfimage_print

ECMA 5+:

// Como Object.keys(new Date()).length === 0;
// É necessário efetuar a checagem final
Object.keys(obj).length === 0 && obj.constructor === Object

 

Pre-ECMA 5:

function isEmpty(obj) {
    for(var prop in obj) {
        if(obj.hasOwnProperty(prop))
            return false;
    }

    return JSON.stringify(obj) === JSON.stringify({});
}

 

jQuery

jQuery.isEmptyObject({}); // true

 

AngularJS (version 1.x)

angular.equals({}, {}); // true

 

lodash

_.isEmpty({}); // true

 

Underscore

_.isEmpty({}); // true

 

ExtJS

Ext.Object.isEmpty({}); // true

 

Hoek

Hoek.deepEqual({}, {}); // true

 

Ramda

R.isEmpty({}); // true
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!