You need to enable JavaScript to run this app. 使用console?.log(69)替代console.log(69)无报错,问号操作符作用是什么?
优惠活动
大模型
产品
解决方案
定价
更多

使用console?.log(69)替代console.log(69)无报错,问号操作符作用是什么?

可选链操作符?.作用说明

你提到的?和后续的.是JavaScript中一个完整的语法特性,叫做可选链操作符,是ES2020版本正式加入的标准语法,具体作用如下:

  • 访问对象属性或者调用方法前,会先校验操作符左侧的取值是否为null或者undefined,如果是则直接短路返回undefined,不会继续执行后续的属性/方法访问逻辑,也不会抛出类型错误。
  • 对应你给出的示例:如果运行代码的环境中不存在console对象,直接执行console.log(69)会抛出报错,中断后续代码运行;而使用console?.log(69)时,会先判断console的取值,发现不存在就直接终止操作,不会触发报错,仅返回undefined。当console存在时,两者的执行效果完全一致,都会正常调用log方法输出69。
  • 可选链除了用于对象属性访问,还支持函数调用func?.()、数组下标访问arr?.[index]等场景,逻辑完全相同。

内容的提问来源于stack exchange,提问作者gautamajay52

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 10:06:04