我的编程空间,编程开发者的网络收藏夹
学习永远不晚

TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式

Parameter ‘xxx’ implicitly has an ‘any’ type的解决

这句话翻译过来就是参数暗指是any类型

在TS中等同于以下代码:

 const f = (param: any) => {    //无意义代码
    console.log(param);
  };

产生的原因:

在TS中如果没有定义参数类型的话就会报这个信息。

这是属于是JS的编码风格,但在TS当中,你需要给它赋上类型。

实例:

//Parameter 'param' implicitly has an 'any' type.ts(7006)

 const f = (param) => {    //param类型可能为any
    console.log(param);
  };

*******解决方式(参考)*******

//假如param为字符串类型,可以这样做


//假如param为数字类型,可以这样做


//假如param为XXX数组类型,可以这样做

其它解决(非常不提倡):

  • 在tsconfig.json当中使用 “noImplicitAny”: false 或者 “strict”: false
  • 或者使用tsc命令带上以上两个参数

使用这个意味着将TS的类型检测给屏蔽了,也就是说,你写的语法还是JS语法,与TS没什么关系(无意义的行为)

参考文档中这两个字段的解释:

–noImplicitAny:在表达式和声明上有隐含的 any类型时报错。

–strict:启用所有严格类型检查选项。

TS是不鼓励使用any类型(除特殊情况),如果所有的变量,参数等都为any,那TS基本类型检查功能就等于没有使用到

TypeScript的核心原则之一是对值所具有的结构进行类型检查。

实例:

//原生js语法
function f(param){
	let stringList=param.split("-");
	console.log(stringList)
}
f("g-s-e-g-s"); //正常调用
f(23324);       //非正常调用

//js中这两个都是没有错,但在运行时,就会error
//然而在TS中这会被检测出来,所以定义any类型和使用原生js的语法变化不大

如何来解决(想法):

根据参数类型对其进行特定的声明。

实例( 仅参考 ):

param是字符串数组类型:

const displayList = (param: string[]) => { 
    param.forEach((element: string) => {
      console.log(element);
    });
  };

  displayList(['Hello', 'World', '!']);
   

param是自定义personType的类型:

type personType = {    //自定义类型
    name: string;
    age: number;
    gender: string;
  };

  const displayPersonName = (param: personType) => {
    console.log('姓名:', param.name);
  };
  
  //参数
  let person_1: personType = {
    name: 'personName01',
    age: 21,
    gender: '男',
  };
  let person_2: personType = {
    name: 'personName02',
    age: 22,
    gender: '女',
  };
 //调用
  displayPersonName(person_1);
  displayPersonName(person_2);
  
  

总结

到此这篇关于TS报错:Parameter 'xxx' implicitly has an 'any' type解决的文章就介绍到这了,更多相关Parameter 'xxx' implicitly has an 'any' type内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式

这篇文章主要给大家介绍了关于TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式,文中将产生错误的原因及解决方法都介绍的非常详细,需要的朋友可以参考下
2022-11-13

MyBatis测试报错:Cannot determine value type from string 'xxx'的解决办法

这篇文章主要给大家介绍了关于MyBatis测试报错:Cannot determine value type from string 'xxx'的解决办法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-17

vue中报错Duplicate keys detected:'1'. This may cause an update error的解决方法

我们在vue开发过程中常会遇到一些错误,这篇文章主要给大家介绍了关于vue中报错Duplicate keys detected:‘1‘. This may cause an update error的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-03-23

编程热搜

目录