TypeScript:类型断言

什么是类型断言

有些时候,我们需要做一些“自己比编译器更清楚的知道自己在做什么”,这个时候就用到断言,告诉编译器:没错,就是这样的,就是要这么干。编译器也就假设:嗯,这个程序员已经进行了相关检查,不会有事的。

类型断言只能够「欺骗」TypeScript 编译器,无法避免运行时的错误。

语法:

值 as 类型 或者 <类型>值

类型断言有两种形式。 其一是“尖括号”语法:

let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;

 

*someValue.length    =>any类型
*(someValue as string).length  =>number类型

另一个为as语法:

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;

 *(re as string[])==>等价<string[]>re

类型断言不是类型转换,断言成一个联合类型中不存在的类型是不允许的。

 

 

posted on 2022-09-26 19:28  香香鲲  阅读(116)  评论(0编辑  收藏  举报