类型断言--Ts

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

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

语法: 值 as 类型 或者 <类型>值

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

letsomeValue:any="this is a string";

letstrLength:number= (<string>someValue).length;//断言写法

letfruit:Array<string|number>= ['apple','banana','pear',20];//数组写法

// 另一个为as语法:

letsomeValue1:any="this is a string";

letstrLength2:number= (someValueasstring).length;//将someValue当作一个字符串进行使用

// someValue1.length是any类型得

// strLength2.length是number类型得

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

// 网络请求可以使用

// async function fn():any {

//     let res=await axios("/info")

//     return res.data

// }

// let re=fn()

// 因为不确定axios请求下来的数据是什莫类型得,所以通常把它的返回值设置成any类型的

 

 


版权声明:本文为cjx177187原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。