解決Parameter ‘xxx’ implicitly has an ‘any’ type

 下邊的代碼在編譯是會報錯:

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的核心原則之一是對值所具有的結構進行類型檢查。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章