为什么在这段代码中没有任何编译错误? 代码:Typescript:为什么没有参数的函数可以强制转换为参数
function partial(f: (a: string) => string, a: string) : string {
return "";
}
var test =() => "";
var result = partial(test, "");
功能“部分”需要作为第一个参数的函数,这需要一个参数,但我传递给它的功能,不带任何参数,打字稿编译器认为,这是好。我明白这不能破坏任何东西,因为你可以将世界中的所有参数传递给不需要的函数,它不会破坏任何东西,但它应该是编译错误,因为typescript是关于类型的,是一个明显的类型错配,它可能是一个开发人员的错误。
是否有解决此问题的任何解决方法?
也许我错过了一个术语步骤或什么(我不是一个打字稿用户),但不会有一个函数与参数和功能,但仍然都是功能?为什么会抛出一个类型错误?他们都是同一类型。 –