当我说class Foo implements IFoo
时,它强制执行该类的实例遵循合同。
e.g。
interface IFoo { foo: number }
class Foo implements IFoo {
foo: number
}
const foo = new Foo();
// Guaranteed that the following is compatible
const iFoo: IFoo = foo;
但是如果我希望类(不是实例)符合接口呢?
答案 0 :(得分:2)
只需使用作业进行检查:
interface IFoo { foo: number }
class Foo {
static foo: number
}
const ensureCompatible:IFoo = Foo; // Check