我发现我正在这样做,我需要在检查链中的下一个变量之前检查前面的变量是不是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?
答案 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
}
}