百度:可选链操作符是一个新的js api,它允许读取一个被连接对象的深层次的属性的值而无需明确校验链条上每一个引用的有效性。目前处于Stage 3提案阶段,暂时不可以直接使用,可以通过babel编译器使用。

比如,我们有一个对象obj,现在要访问它的深层属性baz。

  foo: {
    bar: {
      baz: 42,
      fun: ()=>{}
    },
  },
};

// 不使用?.
let baz = obj && obj.foo && obj.foo.bar && obj.foo.bar.baz;

// 使用?.
let baz = obj?.foo?.bar?.baz; // 结果:42
使用情况:response[0].energyList.map当energyList为空时.map undefine, 使用?.后js跳过undefine获取energyList对其进行判断
this.elecData = response[0]?.energyList.map((v, i) => {
          return v.electricity
        })||[]
可达到,当energyList没有数据时将this.elecData赋空
posted on 2020-08-22 12:04  occc  阅读(201)  评论(0)    收藏  举报