?:

?: 是指可选参数,可以理解为参数自动加上undefined

function fun(x: number, y?: number) { // 可选参数return x + (y || 0);
}
fun(1); // 1
fun(1, null); // error, 'null' is not assignable to 'number | undefined'
interface IPro {id: string | number;page: number;key?: string; // 可选属性
}

??

??|| 的意思相似,但是又有区别,?? 相较 || 比较严谨, 当值等于0 的时候 || 就把他给排除了,但是 ?? 不会

console.log(null || 3)   // 3
console.log(null ?? 2)     // 2console.log(undefined || 2)      // 2
console.log(undefined ?? 2)      // 2console.log(0 || 2)       // 2
console.log(0 ?? 2)      // 2

?.

?. 的意思基本和 && 是一样的,a ?. b 相当于 a && a.b ? a.b : undefined

const a = {b: { c: 7 }
};
console.log(a?.b?.c);     //7
console.log(a && a.b && a.b.c);    //7

举例:有一个数据 data, 它的属性值可能为 null,undefined,通常我们的写法是直接上 if 判断啥的,然后再取 data 中的属性,但是有了问号点 ?. 写法就简单很多了


!.

!. 的意思是断言,告诉 ts 该对象里一定有某个值

const inputRef = useRef<HTMLEInputlement>(null);
// 定义了输入框,初始化是 null,但是你在调用他的时候相取输入框的 value,这时候 dom 实例一定是有值的,所以用断言
const value: string = inputRef.current!.value;
// 这样就不会报错了

TypeScript 中的问号+冒号、双问号、问号+点、感叹号+点相关推荐

  1. typescript中问号后面跟点是什么意思 ?. 和 问号问号

    最近项目中用到了ts 在学习阅读别人代码的时候 看到问号点的写法 上网查了一下才知道 是问号前面存在后面才会执行的意思 特此来记录一下 来看一个小demo typescript中的写法 以下写法可以读 ...

  2. Kotlin 3. Kotlin 特殊符号的用法:双感叹号!!,问号?,双冒号::

    一起来学Kotlin:概念:3. Kotlin 特殊符号的用法:双感叹号!!,问号?,双冒号:: 这里介绍 Kotlin 特殊符号的用法,包括:双感叹号!!,问号?,双冒号::. 文章目录 一起来学K ...

  3. typescript中的 as、问号、感叹号

    as 关键字用于断言 在Typescript中,表示断言有两种方式.一种是扩号表示法: let someValue: any = "this is a string"; let s ...

  4. Typescript中的问号点(?.)是什么意思?

    问题 Typescript中的感叹号点.问号点是什么意思?我刚入坑react项目的时候看别人代码就看到这样的写法,以开始是懵逼的哈哈哈哈,毕竟是个小白,然后吭哧吭哧的百度查资料,最后发现了问号点(?. ...

  5. Typescript 中 ?问号的几种不同用法

    1.作为Typescript 接口属性数量不确定时的定义方法 如果使用接口来限定了变量或者形参, 那么在给变量或者形参赋值的时候, 赋予的值就必须和接口限定的一模一样才可以, 多一个或者少一个都不行. ...

  6. JAVA中冒号和问号的顺序_c语言问号冒号的用法

    c语言问号冒号的用法 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可.下面小编来为大家介绍c语言问号冒号的用法. ...

  7. php xls 繁体字 问号,【专题】如何显示CAD中的繁体字,繁体字出现问号怎么办?...

    原标题:[专题]如何显示CAD中的繁体字,繁体字出现问号怎么办? 中国汉字博大精深,字体样式多种多样,每个人的使用爱好都不一样,所以就导致了CAD图纸传来传去,有时字体会变成一堆乱码.今天小编就来讲解 ...

  8. JavaScript 和 typeScript 中的 import、from

    From:https://segmentfault.com/a/1190000018249137?utm_source=tag-newest Github - allowSyntheticDefaul ...

  9. 第四节:5种数据类型在TypeScript中的运用

    在上一节<第三节:快速编译TypeScript,提高开发效率>,我们学习了如何结合IDE快速地帮助我们编译TypeScript,有了这个辅助功能,我们的开发效率就大大提高. 接下来,我们就 ...

  10. 【TypeScript】从零开始玩转TypeScript - TypeScript中的接口

    前言 小伙伴们大家好.前几篇文章我们已经学习了TypeScript中的基本语法,数据类型以及类的抽象类.今天将继续学习TypeScript中的另一个知识点 - 接口. 不知道小伙伴们有没有了解过后端语 ...

最新文章

  1. 分享Kali Linux 2016.2第50周镜像文件
  2. 符号说明表怎么做_教会你的孩子正确使用标点符号
  3. 光纤有什么优势?还有哪些挑战需要面对呢?
  4. jgroup 概述--官方文档
  5. linux oracle bad elf,oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter...
  6. c得到当前时分秒 linux_Linuxc - Linux系统下的时间知识点
  7. 静态成员函数与静态成员变量
  8. vb.net如何查询电脑麦克风收到声音_EMUI 10.1 跨屏协同实测:这一次把你的手机「搬」进电脑...
  9. 5G iPhone SE即将试产 搭载A15仿生芯片采用4.7英寸屏幕
  10. python画猴子_Python学习笔记(1)
  11. Moodle插件开发大全
  12. ACS被集成到了Windows Azure Management Portal中
  13. 移动通信发展史及原理学习
  14. C++11 字符串编码转换
  15. 从零开始做UI-静电的sketch设计教室 视频教程
  16. Automating Android with Ant
  17. python tkinter怎么读_Python初学 Tkinter
  18. 关于结构化、半结构化、非结构化数据的理解
  19. 什么是搜索引擎蜘蛛机器人?是如何工作的
  20. git rebase(变基)操作演示

热门文章

  1. Bootstrap入门(一)
  2. selenium , 招聘网站信息,保存到excel表,【完整代码】,python,pandas
  3. 亚洲销售女神徐鹤宁经典语录——太过精辟! 1
  4. python画圣诞树图片_庆祝新年?画一颗圣诞树?还是...
  5. 抖音短视频APP——运营策略梳理
  6. 抖音如何引流自己的精准粉丝?
  7. 抖音新账号做好这七点
  8. ISE和Vivado
  9. matlab五维插值,光学加工过程中高次非球面的三坐标测量数据处理
  10. arcgis-maps-sdk-unity-1.0.0.tgz