检查嵌套对象属性

时间:2016-05-16 10:52:49

标签: javascript if-statement

假设我们有一个window对象,看起来像window.someObject.someProperty.subProperty,我们有一个if条件,我们会检查subProperty === "foo"

为了避免使用cannot read property xxx of undefined,我必须编写类似

的内容
if (window.someObject && window.someObject.someProperty &&  window.someObject.someProperty.subProperty === "foo") {
      // do something
}

现在想象一下这个对象有更多属性,检查所有属性会很长。

所以我的问题是,是否有更快的方法来执行该检查而无需编写所有属性序列。

2 个答案:

答案 0 :(得分:0)

通常在使用API​​时,您应该能够预测可能缺少的内容以及不应该使用的内容。可悲的是,没有简短的方法来检查你是否想要确定每一步。但是,有些预处理器(例如CoffeeScript)允许您执行此操作:for(int i=0;i<=100;i++){ onView(withText("label")).perform(swipeUp()); }

但没有香草的方式。

答案 1 :(得分:0)

已在javascript test for existence of nested object key中回答。请检查其通用功能

{{1}}