[英]What does <this> mean in TypeScript generics?
this
是指當前可用的類型。
這也可能是覆蓋的類或接口的子類型。
另請參見https://www.typescriptlang.org/docs/handbook/advanced-types.html中的 這種類型的多態
例:
class Calculator {
a: number;
add(): this {
a++;
return this;
}
}
class AdvancedCalculator {
substract(): this {
a--;
return this;
}
}
new AdvancedCalculator()
.add() // returns AdvancedCalculator as "this"
.substact() // it compiles!
我相信在您的示例中, <this>
指的是當前實現接口的類型。 例如,如果名為TestClass的類實現了IRouter,則返回IRouterMatcher<this>
的函數將返回IRouterMatcher<TestClass>
。
經過更多研究之后,使用<this>
在功能上可能等同於說<T extends IRouter>
例如all: IRouterMatch<T extends IRouter>
。 使用this
可能只是表達同一件事的一種較短的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.