我想在TypeScript中声明一个函数,该函数返回当前实例的类型,例如:在一个返回this
的流畅API中。
是否有&#34的类型变量;此类型&#34;? (我宁愿不使用X<T extends X<T>>
的丑陋Java方式。)
答案 0 :(得分:8)
在TypeScript中还没有办法做到这一点。请参阅问题https://github.com/Microsoft/TypeScript/issues/285进行投票/讨论。
答案 1 :(得分:1)
现在可以实现流畅的界面:
class FluentInterface {
aMethod(): this {
return this;
}
}
答案 2 :(得分:0)
我知道这不完全是您想要的,但对于我的用例来说,this workaround 已经足够了:
export class Component{
init(config?: { [field in keyof this]?: this[field] }) {
Object.assign(this, config)
}
}