在异步请求中,我们很多数据都是 json 格式的,就存在 a.b.c.d 获取 d 的值,如果直接使用 a.b.c.d 可以会出现 a 或者 b 或者 c 对象未获取而报错,为了避免问题的存在可以使用 if 判断,但是多个 if 的判断会让简单的程序变得难以理解,下面我利用 &&(js中串行执行,如 x && y, 只有成功执行了 x 才会执行后面的 y, 当 x 未定义时还能第一时间给出报错,将错误第一时间去除 ) 来简化这个问题
var a = {b: {c: {d: 1}}}
if (a) {
if (a.b) {
if (a.b.c) {
if (a.b.c.d) {
console.log(a.b.c.d)
}
}
}
}
// 下面利用 && 优化一下上面的判断
a && a.b && a.b.c && a.b.c.d && console.log(a.b.c.d)