美文网首页
obj?.name 可选链操作符

obj?.name 可选链操作符

作者: 林鹤_a354 | 来源:发表于2021-11-12 17:16 被阅读0次

通过连接的对象的引用或函数可能是 undefined 或 null 时,可选链操作符提供了一种方法来简化被连接对象的值访问。

例如:

let nestedProp = obj.first && obj.first.second;

可用下面的方式替换

let nestedProp = obj.first?.second

如果obj.first 是 null 或者 undefined,表达式将会短路计算直接返回 undefined。

当使用一个API的方法可能不可用时,要么因为实现的版本问题要么因为当前用户的设备不支持该功能。该方法也可用于调用一个可能不存在的方法,可以使表达式自动返回undefined而不是抛出一个异常。

letresult=someInterface.customMethod?.();

注意: 如果该属性名存在且不是函数, 使用?. 仍然会产生一个TypeError 异常 (x.y is not a function).

相关文章

网友评论

      本文标题:obj?.name 可选链操作符

      本文链接:https://www.haomeiwen.com/subject/zysozltx.html