什么是数据类型断言?
类型断言和其它编程语言的类型转换很像,可以将一种类型强制转换成另外一种类型
-
类型断言就是告诉编译器,你不要帮我们检查了,相信我,我知道自己在干什么
/*例如: 我们拿到了一个any类型的变量, 但是我们明确的知道这个变量中保存的是字符串类型,此时我们就可以通过类型断言告诉编译器,这个变量是一个字符串类型,我们就可以通过类型断言将any类型转换成string类型, 使用字符串类型中相关的方法了 */ let str:any = 'it666'; let len = str.length; // 在输入length的时候没有语法提示,因为编译器不能确定改变是否有length属性 console.log(len)
使用类型断言
-
方式一:
尖括号
语法,(<转化的数据类型目标>转化的变量名称)
let str:any = 'it666'; let len = (<string>str).length; console.log(len) // 不推荐使用这种方式,有兼容性问题,在使用到了JSX的时候兼容性不是很好
-
方式二:
as
语法,(转化的变量名称 as 数据类型)
let str:any = 'it666'; let len = (str as string).length console.log(len); // 推荐这种