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)

相关推荐
m0_748247805 分钟前
构建 Java Web 应用程序:从 Servlet 到数据库交互(Eclipse使用JDBC连接Mysql数据库)
java·前端·数据库
郑大乾66638 分钟前
vuex - 第一天
javascript·vue.js·node.js
阿卡基YUAN40 分钟前
JavaScript 箭头函数
前端·javascript
轻口味41 分钟前
【每日学点鸿蒙知识】Web高度适配、变量声明规范、动画取消、签名文件、包体积优化相关
前端·华为·harmonyos
小刘|44 分钟前
深入理解 Cookie 和 Session 在 Java Web 中的应用
java·前端·python
湛海不过深蓝1 小时前
【js】记录预览pdf文件
开发语言·javascript·pdf
兮动人1 小时前
vue之axios基本使用
前端·javascript·vue.js
m0_748256341 小时前
深入探索 npm cache clean --force:清理 npm 缓存的艺术
前端·缓存·npm
在学021 小时前
opencl 封装简单api
java·服务器·前端
嵌入式小强工作室1 小时前
STM32 Flash DB的使用方法
前端·javascript·stm32