js中 ?? 和 ?. 的意思
1.空值合并操作符??
只有当左侧为null或者undefined 时候,才会返回右侧的数,否则返回左侧操作数
与(||)不同,或操作符会在左侧操作数为假值时返回右侧操作数,例如(‘’ 或者 0)
null ?? 'default string' ------default string
0 ?? 42 ------0
0 || 42 ------42
2. 可选链操作符(?.)
允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?.操作符的功能类似于.链式操作符,不同之处在于,在引用(null || undefined)的情况下不会引起错误。
const adventurer = {
name:"Alice",
cat:{
name:'Dinah'
}
}
const dogName = adventurer.dog?.name--------undefined 但是不会报错
语法:obj?.prop obj?.[expr] arr?.[index] fun?.(args)
1.函数调用
let result = someInterface.customMethod?.()
let result = someInterface?.customMethod?.()
2.可选链与表达式
let nesteProp = obj?.['prop' + 'Name']
3.可选链访问数组
let arrayItem = arr?.[42]
参考:https://www.cnblogs.com/zhigu/p/13962661.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」