打字稿:Return "this" 来自通用基础 class
Typescript: Return "this" from generic base class
我想从基础 class return "this" 作为泛型类型参数。
class ExampleClass<T> {
public returnThis = (): T => {
return <T>this;
}
}
我知道我不能转换为 T,因为打字稿不知道 T 派生自 ExampleClass。
但是有没有办法做到这一点?
您可以 return 输入 this
:
class ExampleClass<T> {
public returnThis = (): this => {
return this;
}
}
它包含在文档的 Polymorphic this types 部分。
编辑
不,它将return实际实例的类型,例如:
class BaseClass {
public returnThis(): this {
return this;
}
}
class ExampleClass extends BaseClass {}
let base = new BaseClass();
let base2 = base.returnThis(); // base2 instanceof BaseClass
let example = new ExampleClass();
let example2 = example.returnThis(); // example2 instanceof ExampleClass
我想从基础 class return "this" 作为泛型类型参数。
class ExampleClass<T> {
public returnThis = (): T => {
return <T>this;
}
}
我知道我不能转换为 T,因为打字稿不知道 T 派生自 ExampleClass。
但是有没有办法做到这一点?
您可以 return 输入 this
:
class ExampleClass<T> {
public returnThis = (): this => {
return this;
}
}
它包含在文档的 Polymorphic this types 部分。
编辑
不,它将return实际实例的类型,例如:
class BaseClass {
public returnThis(): this {
return this;
}
}
class ExampleClass extends BaseClass {}
let base = new BaseClass();
let base2 = base.returnThis(); // base2 instanceof BaseClass
let example = new ExampleClass();
let example2 = example.returnThis(); // example2 instanceof ExampleClass