喜欢音乐的程序员 2022-04-25 00:48 采纳率: 50%
浏览 43
已结题

Js可选链有什么用?为什么和直接调用没有发现区别?

        let a = {
              data:{
                list:123,
            }
        }
        let b = []
        console.log(a.data)
        console.log("普通调用对象不存在属性" + a.data.jerry)
        console.log("可选链调用对象不存在属性" + a.data?.jerry)
        console.log("普通调用数组不存在索引" + b[1])
        console.log("可选连调用数组不存在索引" + b?.[1])

img

看有些帖子说直接调用不存在属性或者索引会抛异常,我这个为啥不抛出异常,是JS升级了吗。
或者换句话说,他们是一样的话,可选链存在的意义是啥?

  • 写回答

5条回答 默认 最新

  • Heerey525 前端领域新星创作者 2022-04-25 01:04
    关注
    
    let a = {
                  data:{
                    list:123,
                }
            }
            console.log("可选链调用对象不存在属性" + a.ccc?.jerry)   // undefined
            console.log("普通调用对象不存在属性" + a.ccc.jerry)   // Cannot read properties of undefined (reading 'jerry')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月25日
  • 创建了问题 4月25日

悬赏问题

  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
  • ¥30 silcavo仿真,30分钟,只需要代码
  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口
  • ¥15 利用3支股票数据估计其均值和方差的95%置信区间。
  • ¥15 微信小程序运行一项功能时,弹出未知错误弹框,检查代码没有问题
  • ¥15 ATAC测序生成self-pseudo replicates之前是否要进行去线粒体reads
  • ¥15 python模糊字匹配函数问题
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部