这个代码为什么要这么写?

let canvas = <HTMLCanvasElement>document.getElementById("canvas");

在看ts代码时候看到很多这样的,前面的尖括号表示什么意思

阅读 2.5k
2 个回答

类型断言。

与下面代码完全等效:

let canvas = document.getElementById("canvas") as HTMLCanvasElement;
const canvas = document.getElementById('#cs16') as HTMLCanvasElement
const canvas2 = <HTMLCanvasElement>document.getElementById('#cs16')

这两句是等价的,由于

document.getElementById('#cs16')

的返回值是HTMLElement,而我们是需要查找canvas元素,因此需要强制类型转换,把 canvas变量视作HTMLCanvasElement类型的变量。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题