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)

相关推荐
2501_944711433 分钟前
现代 React 路由实践指南
前端·react.js·前端框架
by————组态12 分钟前
睿控(Ricon)组态
运维·前端·物联网·信息可视化·组态·组态软件
蓁蓁啊12 分钟前
GCC 头文件搜索路径:-I vs -idirafter 深度解析
java·前端·javascript·嵌入式硬件·物联网
依赖_赖13 分钟前
前端实现token无感刷新
前端·javascript·vue.js
RubyZhang19 分钟前
小程序Canvas动态海报生成方案及性能优化报告
前端
zhelingwang33 分钟前
设计模式笔记
前端
Focus_37 分钟前
如何借助AI在UE5中将图片批量生成3D模型
前端·aigc·游戏开发
m0_7482523841 分钟前
JavaScript 基本语法
开发语言·javascript·ecmascript
hhcccchh1 小时前
学习vue第十三天 Vue3组件深入指南:组件的艺术与科学
javascript·vue.js·学习
@PHARAOH1 小时前
WHAT - Vercel react-best-practices 系列(二)
前端·javascript·react.js