typescript 问号使用(??)(?.)

问号+点(?.)

对象不为空才调用对象的属性。如果对象为空则返回undefined。

复制代码
 res.data.mstrmod?.CreateTime

如果mstrmod为空,createTime得到一个undefine

以下的如果createTime得到undefine再调用replace是会报错 ,?.只能用来取值,不能再去调函数,否则还是有出问题的时候。

复制代码
res.data.mstrmod?.CreateTime?.replace('T', ' ')

2个问号(??)

判断变量是否为空,如果变量为空,用后面的默认值初始化对象。

const v1 = null

const v2 = 2

const v3 = v1 ?? 3

const v4 = v2 ?? 4

console.log("v3 = ", v3)

console.log("v4 = ", v4)

相关推荐
不会敲代码11 分钟前
解密JavaScript内存机制:从执行上下文到闭包的全景解析
javascript
用户5757303346245 分钟前
🌟 从一行 HTML 到屏幕像素:浏览器是如何“画”出网页的?
前端
NEXT067 分钟前
React Hooks 进阶:useState与useEffect的深度理解
前端·javascript·react.js
sure28213 分钟前
React Native应用中使用sqlite数据库以及音乐应用中的实际应用
前端·react native
CHU72903513 分钟前
扭蛋机盲盒小程序前端功能设计解析:打造趣味与惊喜并存的消费体验
前端·小程序
前端布道师18 分钟前
Web响应式:列表自适应布局
前端
ZeroTaboo20 分钟前
rmx:给 Windows 换一个能用的删除
前端·后端
李剑一30 分钟前
Vue实现大屏获取当前所处城市及当地天气(纯免费)
前端
踢足球092941 分钟前
寒假打卡:2026-2-7
java·开发语言·javascript
_果果然42 分钟前
这 7 个免费 Lottie 动画网站,帮你省下一个设计师的工资
前端