0
使用typescript,我發現爲什麼兩個不同的函數分配給不同的局部變量導致不同的簽名。我認爲一個更明確。爲什麼打字稿中的這兩個函數類型不同?
let a: (number)=>number =
function(x: number): number {return 42;};
let z = function(x:number): number { return 42; };
> .type a
let a: (number: any) => number
> .type z
let z: (x: number) => number
我想a
只是一個寫作z
的更明確的版本,但不知何故,被輸入更寬鬆的接受any
。
使用2.5.2
啊,所以你有它的名字,或者它被認爲是任何類型的名字。這很愚蠢。並且,對於類型檢查而言,名稱並不重要? –
名稱無關緊要 –
FWIW:它需要保持與JavaScript的兼容性。 – Pace