索引类型:
keyof :索引类型查询操作符(返回所有的属性名)
T[K]: 索引访问操作符
映射类型:
从旧类型中创建新类型(内部使用了 for .. in)
下面的PersonReadonly和PersonPartial分别为接口Person的所有属性追加了只读和可选属性
映射类型在元祖中的使用
由映射类型进行推断:(拆包)
官网上的demo,真不懂为什么饶了这么一大圈unknow类型:
TypeScript 3.0 新增的一种顶级类型,具有以下特点:
1.任何类型都可以赋值给unkonw类型
2.没有类型断言或基于控制流的类型细化时,unknow不能进行操作,且只能赋值给any和unknow
3.unkonw与其他类型组成交叉类型,等于其他类型
4.unkonw与其他类型组成联合类型,等于unkonw
5.never是unkonw的子类型
条件类型:
T 如果不是string,number,boolean,undefined,function类型,就默认为对象
[keyof T]返回所有类型不为never的属性名
infer关键字:类型推断
系统预定义的有条件类型(源码在lib.es5.d.ts文件)
网友评论