可选链Optional Chaining的用法

在日常开发中有时会碰到这种情况,我们需要判断一个较深层次的对象属性是否存在。用普通的if方法,需要逐个判断中间节点是否有效,代码会比较繁琐,和显得很蠢,而Optional Chaining可以帮助我们用一句代码解决。

可选链是Js的新动态,有希望被加入到ECMAScript中去。

一种可以在当前值可能为null的可选值上请求和调用属性、方法及下标的方法。
接下来介绍一下它的使用方法,使用前需先安装配置

1.安装配置

安装

yarn add @babel/plugin-proposal-optional-chaining --dev

配置 .babelrc

{
  "plugins": ["@babel/plugin-proposal-optional-chaining"]
}

2.需求场景

在项目中,经常会遇到对象的属性链访问,很容易因为一个属性不存在出现Cannot read property 'xxx' of undefined的问题。Optional Chaining就解决了这一问题。

它会先判断前面的值, 如果 undefined 或者 null, 就结束后面的调用, 直接返回 undefined。

3.使用方法

?. 操作符

a?.b
//相当于
a == null ? undefined : a.b
//先判断前面的值, 如果 undefined 或者 null, 就结束后面的调用, 直接返回 undefined

日常使用中再也不用用if一层一层的逐个判断中间节点是否有效,例如想要看a{b{c{d}}}中d是否存在,只需

a?.b?.c?.d

三种使用场景,静态调用、动态调用、函数调用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容