{ return this; -6ren">
gpt4 book ai didi

generics - typescript :从通用基类返回 "this"

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:52 25 4
gpt4 key购买 nike

我想从基类返回“this”作为泛型类型参数。

class ExampleClass<T> {
public returnThis = (): T => {
return <T>this;
}
}

我知道我不能转换为 T,因为 typescript 不知道 T 派生自 ExampleClass。
但是有办法做到这一点吗?

最佳答案

你可以只返回类型this:

class ExampleClass<T> {
public returnThis = (): this => {
return this;
}
}

它包含在 Polymorphic this types 中文档部分。


编辑

不是,它会返回实际实例的类型,例如:

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

( code in playground )

关于generics - typescript :从通用基类返回 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39368158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com