簡體   English   中英

處理JavaScript對象中缺少的屬性的最佳實踐?

[英]Best practice for handling missing properties in a JavaScript object?

我有一個進行其余Web服務調用的客戶端,從該服務調用返回的數據是JSON對象。 它具有以下字段名稱,例如名稱和年齡。 我遇到一種情況,其中返回的數據中的字段為空。 收到此{}而不是{"name":"john doe","age":"23"} 在JavaScript中處理異常的最佳方法是什么?

這取決於您期望的數據。

經典的方式是

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
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM