欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TypeScript之类型断言

程序员文章站 2022-07-12 15:42:05
...

类型断言知识点

语法:

<类型> 值   或者   值 as 类型

类型断言解决的问题:

function doAs(a:string | number):void{
    console.log(a.length);   //报错,类型“number”上不存在属性“length”。
}


//使用类型断言时,要加上括号,如(<string>a).length
function doAs(a:string|number):void{
    console.log((<string>a).length); //没问题
}

function doAs(a:string|number):void{
    console.log((a as string).length); //没问题
}

由于定义函数参数用了混合类型,里面只能访问混合类型的公共属性。当我们必须用到某个类型的独有属性时,就得使用类型断言。即将一个联合类型的变量指定为一个更加具体的类型

注意:

  1. 类型断言不是类型转换,断言成一个联合类型中不存在的类型是不允许的.
  2. jsx语法中,只能使用 as