Javascript - 如何检查父对象是否未定义?

时间:2017-04-13 11:20:07

标签: javascript

我发现我正在这样做,我需要在检查链中的下一个变量之前检查前面的变量是不是undefined

if( this.props.someVar && this.props.someVar.data ) {
    // do something with this.props.someVar.data ...
}

这样做是理想的:

if( this.props.someVar.data ) {
    // This throws an error because I haven't checked if `this.props.someVar` exists beforehand.
}

是否有更简单/更短的方式,最好使用纯Javascript?

1 个答案:

答案 0 :(得分:-1)

我也讨厌这个。最简单的方法是使用try catch这样的

try {
    // do something with this.props.someVar.data
} catch (e) {
    if (e instanceof TypeError) {
       // TypeError happens when an object in the chain is undefined
    }
}