普通变量的类型断言
- 类型断言的作用是使typescript假设已经进行了类型检查
- 类型断言类似其他语言里的类型转换,但是不进行特殊的类型转换和解构
- 只在编译阶段起作用,没有运行时的影响
两种形式的语法:尖括号语法与as语法
//尖括号语法
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
//as语法
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
函数的类型断言
举一个例子:
onClick={()=>(onSelectPlayer as (sno: string)=>void)(sno)}
其中, onSelectPlayer被断言为一个匿名函数
(sno: string)=>void
// 这里是一个整体, 表示onSelectPlayer是以sno为参数返回值为void的匿名函数
// 读代码的时候要把as后面一直到括号结尾看成一个整体作为类型断言
(sno)
// 这个sno表示传进来的参数