带有void方法的Typescript接口-不报告错误

带有void方法的Typescript接口-不报告错误,typescript,Typescript,为什么编译器不抱怨下面的代码?接口有一个方法是空的。类实现了接口,但签名不相同,但编译器仍不抱怨 interface myinterface { getMethod() : void; } class myclass implements myinterface { getMethod() { return "return string"; } } var myObj = new myclass() var strVar = myObj.

为什么编译器不抱怨下面的代码?接口有一个方法是空的。类实现了接口,但签名不相同,但编译器仍不抱怨

interface myinterface {
  getMethod() : void;
}

class myclass implements myinterface {               
  getMethod()  {
    return "return string";
  }
}

var myObj = new myclass()

var strVar = myObj.getMethod();
为什么编译器不抱怨

我对TypeScript中类型的看法是,类型是满足接口的最小信息。因此,只要它涵盖了最低限度的打字,那么它就可以了

因此,在上面的示例中,您实现了一个具有该名称的函数,该函数不接受任何参数,并且至少实现了一个不返回任何内容的函数

至于能够将它分配给外部的另一个变量。。。如果您不从该函数返回任何内容,则该函数的返回仅为
undefined


之所以认为TypeScript中的键入对于履行合同来说是最小的,是因为类型检查是100%可选的。

位于此处的代码请参见