TypeScript:当前类的类型作为类型变量

时间:2015-01-20 14:04:11

标签: generics typescript

我想在TypeScript中声明一个函数,该函数返回当前实例的类型,例如:在一个返回this的流畅API中。

是否有&#34的类型变量;此类型&#34;? (我宁愿不使用X<T extends X<T>>的丑陋Java方式。)

3 个答案:

答案 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)
  }
}