通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设开发人员已经进行了必须的检查。
类型断言有两种形式。 其一是“尖括号”语法:
let someValue: any = "this is a string";
let strLength: number = (someValue).length;
1
2
3
第二种形式是as语法:
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
1
2
3
两种方式等价,但是在TypeScript里使用JSX时,只有 as语法断言是被允许的。