我必须一次又一次地处理代码,例如考虑以下假设示例:
if (node.data.creatures.humans.women.number === Infinity) {
// do-someting
}
现在,问题是如果节点未定义,则此条件将中断。同样,如果 node.data 未定义,node.data.creatures 未定义等等,它将中断。
所以我最终使用了以下长条件:
if (node && node.data && node.data.creatures && node.data.creatures.humans && node.data.creatures.women && node.data.creatures.humans.women.number === Infinity) {
// do-someting
}
现在,想象一下我也必须在代码的许多其他部分中使用该 JSON 对象的一部分。
代码突然开始看起来非常难看。由于我提到的第一个条件,有没有更好的方法来避免诸如“无法调用未定义的属性”之类的错误,这样代码看起来也更好。
你如何处理这种情况?