爲什麼在這段代碼中沒有任何編譯錯誤? 代碼:Typescript:爲什麼沒有參數的函數可以強制轉換爲參數
function partial(f: (a: string) => string, a: string) : string {
return "";
}
var test =() => "";
var result = partial(test, "");
功能「部分」需要作爲第一個參數的函數,這需要一個參數,但我傳遞給它的功能,不帶任何參數,打字稿編譯器認爲,這是好。我明白這不能破壞任何東西,因爲你可以將世界中的所有參數傳遞給不需要的函數,它不會破壞任何東西,但它應該是編譯錯誤,因爲typescript是關於類型的,是一個明顯的類型錯配,它可能是一個開發人員的錯誤。
是否有解決此問題的任何解決方法?
也許我錯過了一個術語步驟或什麼(我不是一個打字稿用戶),但不會有一個函數與參數和功能,但仍然都是功能?爲什麼會拋出一個類型錯誤?他們都是同一類型。 –