假设我们有一个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
}
现在想象一下这个对象有更多属性,检查所有属性会很长。
所以我的问题是,是否有更快的方法来执行该检查而无需编写所有属性序列。
答案 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}}