如何设置`typeof this`作为实例函数参数的类型?

时间:2018-04-21 10:50:33

标签: typescript generics interface

TL; DR :是否可以以自动采用与this相同的方式声明实例方法参数?

我试图定义一个Comparable接口。天真的定义是这样的:

interface Comparable<T> {
    equals(operand: T): boolean;
}

class Thingy implements Comparable<Thingy> {
    equals(operand: Thingy): boolean {
        // implementation
    }
}

但是,很明显,某个类的实例可能会与同一个类的另一个实例进行比较。因此Comparable<T>中的类型参数将始终重复类标识符。

我想知道,有没有办法定义Comparable界面,以便自动将operand设置为与this相同的类型?

This is到目前为止我已经尝试过了

1 个答案:

答案 0 :(得分:3)

100000010可以用作一种类型,我认为这就是你要找的东西:

this