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)

相关推荐
Pu_Nine_93 分钟前
JavaScript 字符串与数组核心方法详解
前端·javascript·ecmascript
这是个栗子10 分钟前
前端开发中的常用工具函数(六)
javascript·every
码云数智-园园10 分钟前
从输入 URL 到页面展示:一场精密的互联网交响乐
前端
秋水无痕36 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(一)
前端·后端
高桥凉介发量惊人37 分钟前
基础与工程篇-多环境配置(dev/test/prod)与打包策略
前端
墨鱼笔记38 分钟前
前端必看:Vite.config.js 最全配置指南 + 实战案例
前端·vite
kyriewen39 分钟前
异步编程:从“回调地狱”到“async/await”的救赎之路
前端·javascript·面试
前端Hardy42 分钟前
别再手动写 loading 了!封装一个自动防重提交的 Hook
前端·javascript·vue.js
前端Hardy43 分钟前
前端如何实现“无感刷新”Token?90% 的人都做错了
前端·javascript·vue.js
秋水无痕44 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(二)
前端·后端·面试