2015-08-17 40 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

相关问题