相当于空对象的 $.isEmptyObject({}) 的打字稿

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

如果对象是空对象,我可以知道测试对象(来自服务器的响应)的正式方法是什么吗?

目前,我的做法是利用jQuery。

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

我不认为这是正统的,想找到一个只使用打字稿的方法。

谢谢。

这里是 jquery 的 2.1 实现,它也应该在 TypeScript 中工作:

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

如您所见,它只是测试是否有任何可枚举的属性。你也可以做 Object.keys(obj).length === 0.