?. 可选链
最后更新:2026-09-09
?. 可选链 可选链
可选链 ?. 安全地访问嵌套属性——如果中间环节是 null/undefined 则返回 undefined 而不报错。
| 分类 | 运算符 |
|---|---|
| ES 版本 | ES2020 |
📝 语法
对象?.属性?.子属性
返回值:属性值或 undefined。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
北京
undefined
北京
💡 提示 ?. 替代了冗长的 && 链检查——代码更短更清晰。
ℹ️ info ?.() 可以安全调用可能不存在的方法;?.[] 可以安全访问可能不存在的键。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| ?. 可选链 | ✓ v80 | ✓ v80 | ✓ v72 | ✓ v13.1 | ✓ v67 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关运算符
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q?. 和 && 链的区别?
A?. 更简洁且不会因为写错变量名而意外返回错误的值。
Q?. 能用于赋值吗?
A不能——?. 只能用于读取。赋值需要 ??= 或条件判断。
Q?. 是 ES 几新增的?
AES2020。