Skip to content

类型断言

有时,TypeScript 会返回一个更为抽象的类型,我们可以使用类型断言来告诉编译器一个更具体的类型。

如何使用

document.getElementById() 返回一个 HTMLElement

如果我们知道 idcontainer 的元素是一个 div 元素,那么我们可以使用类型断言告诉编译器,这返回的是一个 HTMLDivElement

javascript
const container = document.getElementById("container") as HTMLDivElement

或者

javascript
const container = <HTMLDivElement>document.getElementById("container")

.tsx 文件中,你应该使用 as 语法来进行类型断言。

对不兼容的两个类型进行断言

如果我们想要进行更加强制性的转换,可以使用两个断言,先转换为 any 或者 unknown,再转换为我们需要的类型

javascript
const a = expr as any as T;