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

TypeScript使用noImplicitAny實(shí)戰(zhàn)解析

 更新時(shí)間:2023年08月01日 14:39:37   作者:RDDcoding  
這篇文章主要為大家介紹了TypeScript使用noImplicitAny實(shí)戰(zhàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

我應(yīng)該使用noImplicitAny TypeScript編譯器標(biāo)志嗎?

noImplicitAny編譯器選項(xiàng)所做的,基本上是將TypeScript從可選類(lèi)型語(yǔ)言轉(zhuǎn)換為強(qiáng)制類(lèi)型檢驗(yàn)語(yǔ)言。

這使得TypeScript離JavaScript的超集稍微遠(yuǎn)了一些,因?yàn)楹?jiǎn)單的:

function logMe(x) {
  console.log(x);
}
// error TS7006: Parameter 'x' implicitly has an 'any' type.

也將報(bào)錯(cuò)——你必須明確聲明x的類(lèi)型為any:

function logMe(x: any) {
  console.log(x);
}
 // OK

這意味著,如果你要把現(xiàn)有的JS代碼庫(kù)遷移到TS,那除了更改文件擴(kuò)展名,你還得做一些較復(fù)雜的東西。這還意味著,在編寫(xiě)代碼時(shí),您需要更多地關(guān)注類(lèi)型,如果不指定類(lèi)型,編譯器就總是會(huì)「抱怨」。

顯式地聲明

由于在實(shí)際情況中顯式地聲明any被認(rèn)為是不好的實(shí)踐,所以在開(kāi)發(fā)過(guò)程的早期,您就需要分配正確的類(lèi)型。如果沒(méi)有顯式的聲明,這可能意味著「我太懶了,沒(méi)有正確地注釋這里的類(lèi)型」。

這樣子到底是好是壞是有很大爭(zhēng)議的,社區(qū)在這個(gè)問(wèn)題上似乎存在分歧。下面是一些業(yè)界領(lǐng)先的TypeScript項(xiàng)目,以及它們是否使用了noImplicitAny編譯器標(biāo)志:

ProjectUses noImplicitAny
AngularYES
RxJSYES
VSCodeNO
Babylon.jsNO

接下來(lái)下面是我的觀點(diǎn):我們使用TypeScript,是因?yàn)轭?lèi)型提供了有意義的額外信息,可以作為文檔、并在早期捕獲錯(cuò)誤。如果想在項(xiàng)目的代碼中都享受這種益處,那就不應(yīng)該只在某個(gè)地方添加類(lèi)型——把它們添加到任何地方,就可以完成了。

否則你就有可能做出如下額外的思考:

“嗯,我應(yīng)該在這里添加類(lèi)型嗎?我有點(diǎn)懶,但這很好,但我還有其他工作要做……「我們明天再做吧?!?/p>

因此,我的建議是將noImplicitAny設(shè)置為true。

以上就是TypeScript使用noImplicitAny實(shí)戰(zhàn)解析的詳細(xì)內(nèi)容,更多關(guān)于TypeScript使用noImplicitAny的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

开江县| 阿坝| 昌都县| 鸡东县| 马尔康县| 浑源县| 永宁县| 新竹县| 易门县| 天全县| 鸡东县| 天峻县| 大方县| 丰城市| 漾濞| 浠水县| 安福县| 嘉义市| 焦作市| 丽水市| 罗甸县| 大洼县| 开平市| 方城县| 阜南县| 富宁县| 内黄县| 乐亭县| 原阳县| 陆良县| 稷山县| 闵行区| 竹溪县| 麦盖提县| 巫溪县| 屯门区| 西乌珠穆沁旗| 宿州市| 安溪县| 确山县| 镇安县|