实际工作所遇一个报错

if (res.data.result.ctsim.status == 4) 直接读取一个不存在的深层次属性  会报错;

img

  • 事先判断是否存在要访问的属性的上级,如此不会报错

    if (res.data.result.ctsim && res.data.result.ctsim.status == 4)
    
  • 复盘分析

    • 读取/访问不存在的属性 返回undefined;

    • 如果读取/访问不存在的属性/对象的属性 相当于null.xx / null.xx, 则会报错