在 TypeScript 4.2 之前,编译器会强制执行“严格的 this”。这意味着在某些情况下,您可能会看到以下错误消息:“Type 'this' is not assignable to type 'X'”。这是由于编译器已经删除了“this”上下文类型约束。要解决此问题,可以使用“--noImplicitThis”标志来禁用强制执行此类错误,或者通过为函数参数指定“this”类型来为函数指定上下文类型限制。以下是一个例子:
function myFn(this: string) {
// ...
}
下一篇:编译器设计的预处理和编译