解决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的核心原则之一是对值所具有的结构进行类型检查。
 

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