TypeScript 中的问号+冒号、双问号、问号+点、感叹号+点
?:
?:
是指可选参数
,可以理解为参数自动加上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 中的问号+冒号、双问号、问号+点、感叹号+点相关推荐
- typescript中问号后面跟点是什么意思 ?. 和 问号问号
最近项目中用到了ts 在学习阅读别人代码的时候 看到问号点的写法 上网查了一下才知道 是问号前面存在后面才会执行的意思 特此来记录一下 来看一个小demo typescript中的写法 以下写法可以读 ...
- Kotlin 3. Kotlin 特殊符号的用法:双感叹号!!,问号?,双冒号::
一起来学Kotlin:概念:3. Kotlin 特殊符号的用法:双感叹号!!,问号?,双冒号:: 这里介绍 Kotlin 特殊符号的用法,包括:双感叹号!!,问号?,双冒号::. 文章目录 一起来学K ...
- typescript中的 as、问号、感叹号
as 关键字用于断言 在Typescript中,表示断言有两种方式.一种是扩号表示法: let someValue: any = "this is a string"; let s ...
- Typescript中的问号点(?.)是什么意思?
问题 Typescript中的感叹号点.问号点是什么意思?我刚入坑react项目的时候看别人代码就看到这样的写法,以开始是懵逼的哈哈哈哈,毕竟是个小白,然后吭哧吭哧的百度查资料,最后发现了问号点(?. ...
- Typescript 中 ?问号的几种不同用法
1.作为Typescript 接口属性数量不确定时的定义方法 如果使用接口来限定了变量或者形参, 那么在给变量或者形参赋值的时候, 赋予的值就必须和接口限定的一模一样才可以, 多一个或者少一个都不行. ...
- JAVA中冒号和问号的顺序_c语言问号冒号的用法
c语言问号冒号的用法 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可.下面小编来为大家介绍c语言问号冒号的用法. ...
- php xls 繁体字 问号,【专题】如何显示CAD中的繁体字,繁体字出现问号怎么办?...
原标题:[专题]如何显示CAD中的繁体字,繁体字出现问号怎么办? 中国汉字博大精深,字体样式多种多样,每个人的使用爱好都不一样,所以就导致了CAD图纸传来传去,有时字体会变成一堆乱码.今天小编就来讲解 ...
- JavaScript 和 typeScript 中的 import、from
From:https://segmentfault.com/a/1190000018249137?utm_source=tag-newest Github - allowSyntheticDefaul ...
- 第四节:5种数据类型在TypeScript中的运用
在上一节<第三节:快速编译TypeScript,提高开发效率>,我们学习了如何结合IDE快速地帮助我们编译TypeScript,有了这个辅助功能,我们的开发效率就大大提高. 接下来,我们就 ...
- 【TypeScript】从零开始玩转TypeScript - TypeScript中的接口
前言 小伙伴们大家好.前几篇文章我们已经学习了TypeScript中的基本语法,数据类型以及类的抽象类.今天将继续学习TypeScript中的另一个知识点 - 接口. 不知道小伙伴们有没有了解过后端语 ...
最新文章
- 分享Kali Linux 2016.2第50周镜像文件
- 符号说明表怎么做_教会你的孩子正确使用标点符号
- 光纤有什么优势?还有哪些挑战需要面对呢?
- jgroup 概述--官方文档
- linux oracle bad elf,oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter...
- c得到当前时分秒 linux_Linuxc - Linux系统下的时间知识点
- 静态成员函数与静态成员变量
- vb.net如何查询电脑麦克风收到声音_EMUI 10.1 跨屏协同实测:这一次把你的手机「搬」进电脑...
- 5G iPhone SE即将试产 搭载A15仿生芯片采用4.7英寸屏幕
- python画猴子_Python学习笔记(1)
- Moodle插件开发大全
- ACS被集成到了Windows Azure Management Portal中
- 移动通信发展史及原理学习
- C++11 字符串编码转换
- 从零开始做UI-静电的sketch设计教室 视频教程
- Automating Android with Ant
- python tkinter怎么读_Python初学 Tkinter
- 关于结构化、半结构化、非结构化数据的理解
- 什么是搜索引擎蜘蛛机器人?是如何工作的
- git rebase(变基)操作演示
热门文章
- Bootstrap入门(一)
- selenium , 招聘网站信息,保存到excel表,【完整代码】,python,pandas
- 亚洲销售女神徐鹤宁经典语录——太过精辟! 1
- python画圣诞树图片_庆祝新年?画一颗圣诞树?还是...
- 抖音短视频APP——运营策略梳理
- 抖音如何引流自己的精准粉丝?
- 抖音新账号做好这七点
- ISE和Vivado
- matlab五维插值,光学加工过程中高次非球面的三坐标测量数据处理
- arcgis-maps-sdk-unity-1.0.0.tgz