我似乎无法理解为什么以下代码不会引发错误:
var rg: {(): void;}[] = [];
rg.push(function():string {return "";})
Run Code Online (Sandbox Code Playgroud)
我清楚地声明类型应该是一个返回的函数数组void,但是我推送一个函数返回一个string但编译器没有抱怨.如果我改变定义rg为
var rg: {():number;}[] = [];
Run Code Online (Sandbox Code Playgroud)
编译器开始抱怨.
这是一个错误,或者它是如何工作的void返回类型(即如果void使用任何东西,基本上使它与返回类型相同any)?
typescript ×1