带有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%可选的。位于此处的代码请参见