背景:写大多数项目时,我们需要从某个数据对象中读取某个属性或者方法,当这个属性不存在时,就会报一个错误。ES2020新增了
?. 可选连操作符
可以避免当属性为null 或者undefined 时报错。语法:const str = data?.name
当我欣喜若狂想要尝鲜时,发现在我目前的项目中使用报错??无法使用。
- 查找一番后发现需要升级
@vue/cli-plugin-babel
, 我的项目中目前使用的版本是:@vue/cli-plugin-babel": "^4.1.0 =====>升级到 @4.5.0
升级完成后重启项目,又会报一个错误!
后来经过我·
ctrl + c/v
后,有童鞋说是core-js
版本太高了导致,我的项目中版本为:core-js:^3.4.3
。后提出解决方案:找到项目中的babel.config.js文件,在其中添加:presets: [ [ '@vue/app', { useBuiltIns: 'entry' } ] ]即可。
{ useBuiltIns: 'entry' } 会自动根据 browserslist 替换成浏览器不兼容的所有 polyfill
后记:现在可以在项目中愉快的使用新的语法啦