Generics TypeScript:作为类型变量的当前类的类型
我想在TypeScript中声明一个函数,该函数返回当前实例类型的类型,例如,在fluent API中,该函数返回Generics TypeScript:作为类型变量的当前类的类型,generics,typescript,Generics,Typescript,我想在TypeScript中声明一个函数,该函数返回当前实例类型的类型,例如,在fluent API中,该函数返回this “此类型”是否有类型变量?(我不想使用丑陋的Java方式X)在TypeScript中还没有这样做的方法。请参阅投票/讨论问题。现在可以实现流畅的界面: class FluentInterface { aMethod(): this { return this; } } 我知道这并不完全是您想要的,但对于我的用例来说,已经足够好了: expo
this
“此类型”是否有类型变量?(我不想使用丑陋的Java方式
X
)在TypeScript中还没有这样做的方法。请参阅投票/讨论问题。现在可以实现流畅的界面:
class FluentInterface {
aMethod(): this {
return this;
}
}
我知道这并不完全是您想要的,但对于我的用例来说,已经足够好了:
export class Component{
init(config?: { [field in keyof this]?: this[field] }) {
Object.assign(this, config)
}
}
我不确定你能不能。也许函数可以返回,您可以在return语句中返回所需的对象,然后在使用函数的代码中强制转换它?有点丑陋,我知道。在这样做之前,考虑一下它是如何打破抽象的:你需要一个接口来为它返回的具体实现做广告,而不是实现一致的契约(/接口)。这种使用将是危险的,尽管我认为在一些合法的情况下,这可能会派上用场。