Optional Chaining 可选链操作符?.

例如,我们要访问 info 对象的 animal 的 reptile 的 tortoise。但是我们不确定 animal,reptile是否存在,因此我们需要这样写:
const tortoise = info.animal && info.animal.reptile && info.animal.reptile.tortoise;

上面代码简化为:

const tortoise = info.animal?.reptile?.tortoise;

JS在尝试访问 info.animal.reptile 之前,会隐式检查并确定 info.animal 的值不是  null 或 undefined,如果其值是  null 或  undefined,如果其值是 null 或 undefined,那么表达式短路计算直接返回 undefined。
可以看到可选链操作符 ?. 和空位合并操作符一样,都是针对的 null 和  undefined 这两个值。

  

原文地址:https://www.cnblogs.com/isuansuan/p/14036287.html