2015-08-17 41 views
1

我有這if條件。有沒有更好的方法來檢查對象屬性的存在?

if object.fruit and object.fruit isnt 'mango'

如何?在這裏使用?我嘗試使用if object.fruit? isnt 'mango',但條件通過時object是空的對象。

+0

這會工作'如果對象.fruit心不是「mango'' –

+1

@RahilWazir:??不,'對象.fruit'是'對象「在嘗試訪問其」水果「屬性之前就已經存在了,它與'對象'爲空或者具有'水果'屬性沒有任何關係。 –

+0

@ muistooshort對,如果對象爲空,object.fruit將返回undefined,它不等於mango,所以它不值得檢查object.fruit也是真的。 –

回答

3

您要檢查三兩件事:

  1. 確保對象存在:object?
  2. 確保對象有你要找的關鍵:key of object
  3. 試驗鍵值:object.key isnt 'mango'

總之這就是:

if object? and "fruit" of object and object.fruit isnt 'mango'

你可以玩弄的obj在這個演示的值:http://codepen.io/anon/pen/VLOMpm

+0

對象的''道具'就是我一直在尋找的東西。謝謝 – traditional

相關問題