下邊的代碼在編譯是會報錯:
function sayHi1(param): string | number {
return param;
}
Parameter 'param' implicitly has an 'any' type. (參數“param”隱式具有“any”類型。 )
在TS中等同於以下代碼:
function sayHi1(param: any): string | number {
return param;
}
產生的原因:
-
在TS中如果沒有定義參數類型的話就會報這個信息。
-
這是屬於是JS的編碼風格,但在TS當中,你需要給它賦上類型。
解決方案:
在param後加上': string'等類型聲明;
其它解決(不提倡):
-
在tsconfig.json當中使用 “noImplicitAny”: false 或者 “strict”: false
-
或者使用tsc命令帶上以上兩個參數;
這兩個字段的解釋:
–noImplicitAny:在表達式和聲明上有隱含的 any類型時報錯。
–strict:啓用所有嚴格類型檢查選項。
TS是不鼓勵使用any類型(除特殊情況),如果所有的變量,參數等都爲any,那TS基本類型檢查功能就等於沒有使用到
TypeScript的核心原則之一是對值所具有的結構進行類型檢查。