用途:当库以特定 this 上下文调用用户提供的回调时,该上下文属于 API 的一部分。TypeScript 允许把 this 写为函数的第一个参数(并非真实参数),以此记录并强制约束预期的上下文类型。
主要能力:为回调的 this 提供类型,使调用方获得属性自动补全与类型检查,明确回调运行时 this 应具备的结构。
适用场景:回调使用 this;API 提供 this 上下文;为事件处理器标注类型;库在回调中设置 this;需要文档化回调上下文。
使用方式:在函数类型签名中把 this 作为第一个参数标注。示例中接口方法写作 handler: (this: EventContext, data: any) => void,并定义 EventContext(如 target、timestamp、preventDefault)。未标注时 this 无类型,调用方无法得知其属性。
限制:资料未提供更多边界条件、兼容性说明或例外情况;仅引用《Effective TypeScript》第 2 版条目 69:Provide a Type for this in Callbacks if It's Part of Their API。