处理JavaScript对象中缺少属性的最佳实践?

时间:2014-05-13 15:00:52

标签: javascript json

我有一个客户端进行休息Web服务调用,并且从调用服务返回的数据是JSON对象。它具有以下字段名称作为名称和年龄。我遇到了返回数据中字段为空的情况。收到此{}而不是{"name":"john doe","age":"23"}。在JavaScript中处理异常的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

这取决于您期望的数据。

经典的方式是

if (typeof object.property === "undefined") {
    ...
}

这也意味着undefined不是可接受的值(并且它不应该是)。但如果它对你不好,总会有

if (!object.hasOwnProperty("property")) {
    ...
}

如果您希望非空字符串(或非零数字),您可以快捷方式:

if (!object.property) {
    ...
}

但是如果你需要接受空字符串或零,这也很常见:

if (object.property == null) {
    ...
}

这会拒绝undefined(应该是您的情况) null等值(这可能是另一个不可接受的值)。

但是,最后,我建议您返回null而不是空对象,并执行以下操作:

if (object != null) {
    // do your stuff with name and age
    ...
}