没有任何的特殊之处。Interface 可以定义所有对象类型的接口,这只是其中一种。
interface ClockConstructor {
new (hour: number, minute: number): ClockInterface;
}
这个接口的意思就是:实现了一个类接口,可以检查 new 关键字的调用方法类型。
同时如果是一个函数,则只能用 new 关键字调用,不能直接调用。
【同样的还有其他的定义】:
定义函数接口,实现了 callable,但是不能用 new 关键字。
interface ClockConstructor {
(hour: number, minute: number): ClockInterface;
}
实现了类接口。但是不会检查 constructor ,因为这属于类静态部分。
interface ClockConstructor {
constructor(hour: number, minute: number): ClockInterface;
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…