TS中的一些关键词总结
最近一直在写TS,偶尔会遇到一些自己之前没见过的一些符号或者关键词,就随手记录下来,本篇文章就是对这段时间遇到的进行了总结。
目录概览
TS中的一些符号
!
断言操作符?.
链判断运算符
TS中的一些关键词
type
interface
typeof
keyof
in
TS中的一些内置类型
Partial
将类型的属性变成可选Required
将类型的属性变成必选Pick
从某个类型中挑出一些属性出来Record
Mutable
将类型的属性变成可修改Readonly
类型的属性变成只读ReturnType
用来得到一个函数的返回值类型
下面的一些例子都可以在 TypeScript Playground[1] 中进行尝试。左侧是TS,右侧是编译后的JS。
TS中的一些符号
!
断言操作符
!
的作用是断言某个变量不会是 null/undefined
,告诉编辑器停止报错。
const obj = {
name: '牧码的星星'
}
const a = obj!.name; // 假设 obj是你从后端获取的获取
确定 obj.name 一定是存在的且不是null/undefined
,使用!
只是消除编辑器报错,不会对运行有任何影响。
属性或者参数中使用 !
,表示强制解析(告诉 typescript 编译器,这里一定有值); 变量后使用 !
: 表示类型推荐排除 null/undefined。
?.
链判断运算符
const orderId = response.result.data.orderId;
上面这种写法,很容易出现这种问题 orderId is undefined
,稍微有些经验的我们立马就能想到,肯定是代码中 response.result.data
为 null
或者 undefined
,这样,你肯定获取不到 or