可选链操作符(?.)解决深层嵌套属性访问时因null/undefined导致的运行时错误问题,通过自动短路返回undefined,避免层层判空;支持属性访问、方法调用、数组索引,并常与??配合提供精准默认值。

JavaScript 可选链操作符(?.)是一种安全访问嵌套对象属性或调用方法的语法,它能在遇到 null 或 undefined 时自动停止访问,返回 undefined 而不是抛出错误。
可选链解决什么问题?
在没有可选链之前,访问深层嵌套属性(比如 user.profile.address.city)需要层层判断:
❌ 容易出错的写法:
if (user && user.profile && user.profile.address) {
console.log(user.profile.address.city);
}登录后复制
稍有遗漏就会触发 Cannot read property 'address' of undefined 错误。可选链让这种检查变得简洁、自动。
立即学习“Java免费学习笔记(深入)”;
基本用法:安全读取属性和方法
在属性名或括号前加 ?.,只要左侧值是 null 或 undefined,整个表达式立刻返回 undefined,不再继续执行。
标签: javascript java 作用域
还木有评论哦,快来抢沙发吧~