什么是可选链
具体而言它是一种操作符(?.),MDN给出的官方解释是:允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?.
操作符的功能类似于 .
链式操作符,不同之处在于,在引用为空(nullish ) (null
或者 undefined
) 的情况下不会引起错误,该表达式短路返回值是 undefined
。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。个人理解是:当不能确定对象中某个属性的时候,可以简化掉if-else的条件判断,使表达式更简明,同时也可以避免引起错误。
babel如何配置支持可选链
在项目中直接使用可选链语法会出现如下错误:
那么如何配置babel以致项目可以支持可选链呢?
1.npm或者yarn安装@babel/plugin-proposal-optional-chaining这个插件
2.在babel.config.js中配置