ts ?. 和 ?? 区别

1 ?. 相当于并且关系如下 

        如果后端返回的res.result中result没有不存在就会报错,同样dataList不存在也会报错

   let dataObj = res.result.dataList;     

  通常以前写法:

   res && res.result && res.result.dataList;

现在写法:

res?.reslut?.dataList

2 ??

        如果左边表达式为null 或 undefined 时,返回表达式右边的值

res?.result?.dataList ?? [] // 左边不成立返回右边[]

     

        

        

你可能感兴趣的:(ts)