类型缩小
可以通过一些类型判断来改变Typescript的执行路径
在给定的执行路径中,我们可以缩小比声明时更小的类型,这个过程称为 缩小
常见的类型保护有:typeof、平等缩小(===、!==…)、instanceof、in等
in运算符: 如果指定的属性在指定的对象或其原型链中,则in 运算符返回true
函数类型的类型注解
最原始的注解函数 可以使用 ()=>void
void仅表示这个是一个函数类型,并不表示这个函数一定没有返回值
虽然声明函数变量时,变量名并不重要,但是我们还是得写,不能省略
可选类型
可选类型必须写在必选类型的后面
ts也支持默认值
可选类型相当于 类型 | undefined** **
剩余参数
this类型的指向
当上述这种情况下,typescript会报错,因为虽然我们这次是通过info来调用的sayHello,但是如果没有通过info来调用这个函数,那么这个函数就会出错
函数的重载
函数的名称相同,但是参数不同的几个函数,就是函数的重载
在typescript中可以使用重载
需要写两组函数,一组为声明函数:类型不同或者个数不同的处理(不写函数体),之后再写一个实现函数:参数类型为any,在这里具体实现代码体
在函数的重载中,我们的实现函数(类型为any)是不能直接被调用的,必须需要先在上方定义声明函数