可选链语法

object?.attr获取object属性attr前先判断object是否存在,在object后面加上?,这是JavaScript的可选链语法。

1
2
3
4
let object = {
attr: value
}
let value = object?.attr

可选链语句在编译时会被解析为:

1
object === null || object === void 0 ? void 0 : object.attr

这句代码的意思是,如果object恒等于null或者undefined时,取值为undefined,否则为object.attr。