今天做Code Review的时候看到如下一行代码,之前没有见过这种写法,查了一下资料,发现这是TypeScript中的类型断言。
1 | const myCanvas = <HTMLCanvasElement>document.getElementById("main_canvas"); |
其实类型断言我也之前也用过,不过用的是as
关键字,如下:
1 | const myCanvas = document.getElementById("main_canvas") as HTMLCanvasElement; |
这两者效果一样。TypeScript中的类型断言有两种写法,一种是<Type>
,另一种是as Type
。这两种写法是等价的,但是在React中,<Type>
会和JSX的语法冲突,所以推荐使用as Type
的写法。