在VS code 中 使用ts编码时写了一个很简单的代码:
1 | window.onmousedown = xxx |
此时鼠标移动上来会出现类型推断的提示:

这个时候我就在想: 两个参数吗? 可是我们平时调用不就是一个Event对象传入吗?
于是我就去翻阅资料
结论
TS中可以使用this形参来指定当前函数的this对象
举个栗子
1 | function demo() { |
但是需要注意的是,this形参只能在参数列表的第一个出现,并且只会在ts文件中出现,编译成js后并会有这个形参,只是辅助TS校验用
即:传递参数的时候跳过this
1 | function demo(this: void, arg:any) { |
所以图1的情况就是TS编译器在告诉我们此时函数的this上下文是什么(图中为GlobalEventHandlers或者重载的Window对象)

说点别的
win10自带的截屏除了原来的PrintScrn
还可以使用win + shift + s 调出更加复杂的截图界面