簡體   English   中英

檢查屬性是否存在與檢查屬性是否為null

[英]Checking if the property exist versus checking if it is null

與檢查屬性是否為null相比,檢查JSON對象中是否存在屬性難嗎?

你們可以同時做兩個嗎?

您可以使用hasOwnProperty(prop)來確定該屬性是否存在。

var a = { p: null };
a.p == null; // true
a.hasOwnProperty('p'); // true

檢查屬性是否存在的語法為:

if ('prop' in obj)

要么

if (obj.hasOwnProperty('prop'))

檢查屬性是否為null的語法為:

if (obj.prop === null)

通常,您不能一次完成兩項操作。 如果該屬性不存在,則obj.prop將是undefined ,因此=== null將為false。

但是,在許多情況下,您會先驗地知道屬性將包含哪種值。 如果您知道它的存在將始終是一個真實的值,則可以簡單地寫:

if (obj.prop)

發生這種情況的一種常見情況是,屬性始終包含一個對象。 我們可以在成語中利用這一點,例如:

if (obj && obj.prop && obj.prop.subprop && obj.prop.subprop.number == 3)

暫無
暫無

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

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