Appearance
类型断言
有时,TypeScript 会返回一个更为抽象的类型,我们可以使用类型断言来告诉编译器一个更具体的类型。
如何使用
如 document.getElementById()
返回一个 HTMLElement
。
如果我们知道 id
为 container
的元素是一个 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;