Typescript equivalent of $.isEmptyObject({}) for empty object

Gavin Yap picture Gavin Yap · Aug 9, 2016 · Viewed 9k times · Source

May I know what is the formal way of testing an Object (response from server), if it is an empty object?

Currently, my way of doing is utilising jQuery.

  this.http.post(url, data, {headers: headers}).then(
    result =>
     {
       if (!$.isEmptyObject(result)) {
        -- run code here --
       }else{
        -- log warning --
       }
     }

I dun think this is orthodox and would like to find a method that uses typescript only.

Thanks.

Answer

jfriend00 picture jfriend00 · Aug 9, 2016

Here's jquery's 2.1 implementation which should also work in TypeScript:

isEmptyObject: function( obj ) {
    var name;
    for ( name in obj ) {
        return false;
    }
    return true;
},

As you can see, it just tests to see if there are any enumerable properties. You could also do Object.keys(obj).length === 0.