最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TS報(bào)錯(cuò):Parameter?'xxx'?implicitly?has?an?'any'?type的解決方式

 更新時(shí)間:2022年10月29日 13:35:51   作者:GHTlinyu  
這篇文章主要給大家介紹了關(guān)于TS報(bào)錯(cuò):Parameter?'xxx'?implicitly?has?an?'any'?type的解決方式,文中將產(chǎn)生錯(cuò)誤的原因及解決方法都介紹的非常詳細(xì),需要的朋友可以參考下

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

這句話翻譯過(guò)來(lái)就是參數(shù)暗指是any類(lèi)型

在TS中等同于以下代碼:

 const f = (param: any) => {    //無(wú)意義代碼
    console.log(param);
  };

產(chǎn)生的原因:

在TS中如果沒(méi)有定義參數(shù)類(lèi)型的話就會(huì)報(bào)這個(gè)信息。

這是屬于是JS的編碼風(fēng)格,但在TS當(dāng)中,你需要給它賦上類(lèi)型。

實(shí)例:

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

 const f = (param) => {    //param類(lèi)型可能為any
    console.log(param);
  };

*******解決方式(參考)*******

//假如param為字符串類(lèi)型,可以這樣做
/**
 const f=(param: string)=>{
 	console.log(param);
 }
*/

//假如param為數(shù)字類(lèi)型,可以這樣做
/**
 const f=(param: number)=>{
 	let sum=param+100;   //sum沒(méi)有聲明類(lèi)型,是因?yàn)門(mén)S的自動(dòng)類(lèi)型推斷,param為數(shù)字類(lèi)型,加上100,那么TS就會(huì)推出sum為數(shù)字類(lèi)型。
 	console.log(sum);
 }
*/

//假如param為XXX數(shù)組類(lèi)型,可以這樣做
/**
 const f=(param: XXX[])=>{
 	param.forEach((e: XXX)=>{
 		console.log(e)
	})
 }
*/

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

  • 在tsconfig.json當(dāng)中使用 “noImplicitAny”: false 或者 “strict”: false
  • 或者使用tsc命令帶上以上兩個(gè)參數(shù)

使用這個(gè)意味著將TS的類(lèi)型檢測(cè)給屏蔽了,也就是說(shuō),你寫(xiě)的語(yǔ)法還是JS語(yǔ)法,與TS沒(méi)什么關(guān)系(無(wú)意義的行為)

參考文檔中這兩個(gè)字段的解釋:

–noImplicitAny:在表達(dá)式和聲明上有隱含的 any類(lèi)型時(shí)報(bào)錯(cuò)。

–strict:?jiǎn)⒂盟袊?yán)格類(lèi)型檢查選項(xiàng)。

TS是不鼓勵(lì)使用any類(lèi)型(除特殊情況),如果所有的變量,參數(shù)等都為any,那TS基本類(lèi)型檢查功能就等于沒(méi)有使用到

TypeScript的核心原則之一是對(duì)值所具有的結(jié)構(gòu)進(jìn)行類(lèi)型檢查。

實(shí)例:

//原生js語(yǔ)法
function f(param){
	let stringList=param.split("-");
	console.log(stringList)
}
f("g-s-e-g-s"); //正常調(diào)用
f(23324);       //非正常調(diào)用

//js中這兩個(gè)都是沒(méi)有錯(cuò),但在運(yùn)行時(shí),就會(huì)error
//然而在TS中這會(huì)被檢測(cè)出來(lái),所以定義any類(lèi)型和使用原生js的語(yǔ)法變化不大

如何來(lái)解決(想法):

根據(jù)參數(shù)類(lèi)型對(duì)其進(jìn)行特定的聲明。

實(shí)例( 僅參考 ):

param是字符串?dāng)?shù)組類(lèi)型:

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

  displayList(['Hello', 'World', '!']);
   /**
   * 輸出:
   * Hello
   * World
   * ! 
   */

param是自定義personType的類(lèi)型:

type personType = {    //自定義類(lèi)型
    name: string;
    age: number;
    gender: string;
  };

  const displayPersonName = (param: personType) => {
    console.log('姓名:', param.name);
  };
  
  //參數(shù)
  let person_1: personType = {
    name: 'personName01',
    age: 21,
    gender: '男',
  };
  let person_2: personType = {
    name: 'personName02',
    age: 22,
    gender: '女',
  };
 //調(diào)用
  displayPersonName(person_1);
  displayPersonName(person_2);
  
  /**
   * 輸出:
   * 姓名: personName01
   * 姓名: personName02
   */

總結(jié)

到此這篇關(guān)于TS報(bào)錯(cuò):Parameter 'xxx' implicitly has an 'any' type解決的文章就介紹到這了,更多相關(guān)Parameter 'xxx' implicitly has an 'any' type內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

康马县| 秦皇岛市| 公主岭市| 云龙县| 新巴尔虎右旗| 上栗县| 镇雄县| 温泉县| 马公市| 太保市| 隆安县| 平果县| 卢氏县| 潢川县| 黔东| 咸丰县| 友谊县| 游戏| 沙洋县| 临洮县| 全南县| 宁远县| 福安市| 阿拉尔市| 临江市| 松溪县| 富裕县| 房产| 蒙山县| 治县。| 苏尼特右旗| 鹤山市| 凤阳县| 青田县| 肥西县| 靖远县| 晋州市| 西林县| 莒南县| 西华县| 康乐县|