类型断言
-
通常这会发生在你清楚地知道一个 实体具有比它现有类型更确切的 类型。
-
通过 类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。
-
类型断言好比其它语言里的 类型转换,或者类型装箱,但是不进行特殊的 数据检查和 解构。
-
它没有运行时的影响,只是在 编译阶段起作用。 TypeScript会假设你已经进行了必须的检查。
-
“尖括号”语法
-
as语法
-
两种形式是等价的。
-
当你在 TypeScript里使用 JSX时,只有 as语法断言是被允许的。
let someValue: any = 'this is a string’;
// “尖括号”语法
let strLength: number = (<string>someValue).length;
// as语法
let strLength: number = (someValue as string).length;