app开发定制公司Parameter ‘xxx’ implicitly has an ‘any’ type的解决

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

app开发定制公司这句话翻译过来就是参数暗指是any类型

在TSapp开发定制公司中等同于以下代码:

 const f = (param: any) => {    //app开发定制公司无意义代码    console.log(param);  };
  • 1
  • 2
  • 3

产生的原因:

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

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

实例:

//Parameter 'param' implicitly has an 'any' type.ts(7006) const f = (param) => {    //param类型可能为any    console.log(param);  };*******解决方式(参考)*******//假如param为字符串类型,可以这样做/** const f=(param: string)=>{ 	console.log(param); }*///假如param为数字类型,可以这样做/** const f=(param: number)=>{ 	let sum=param+100;   //sum没有声明类型,是因为TS的自动类型推断,param为数字类型,加上100,那么TS就会推出sum为数字类型。 	console.log(sum); }*///假如param为XXX数组类型,可以这样做/** const f=(param: XXX[])=>{ 	param.forEach((e: XXX)=>{ 		console.log(e)	}) }*/  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

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

  • 在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的语法变化不大
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如何来解决(想法):

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

实例( 仅参考 ):

param是字符串数组类型:

const displayList = (param: string[]) => {     param.forEach((element: string) => {      console.log(element);    });  };  displayList(['Hello', 'World', '!']);   /**   * 输出:   * Hello   * World   * !    */
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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);    /**   * 输出:   * 姓名: personName01   * 姓名: personName02   */
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发