最新国产好看的视频,伊人天堂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從可選類型語(yǔ)言轉(zhuǎn)換為強(qiáng)制類型檢驗(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的類型為any:

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

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

顯式地聲明

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

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

ProjectUses noImplicitAny
AngularYES
RxJSYES
VSCodeNO
Babylon.jsNO

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

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

“嗯,我應(yīng)該在這里添加類型嗎?我有點(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)論

岑巩县| 霞浦县| 麻栗坡县| 河南省| 安义县| 德州市| 通州市| 武定县| 阳泉市| 富宁县| 遂川县| 昌江| 巴林左旗| 呼伦贝尔市| 沂源县| 青岛市| 宜宾县| 海门市| 哈巴河县| 库尔勒市| 洛南县| 改则县| 长海县| 谢通门县| 黑河市| 凤翔县| 新建县| 洪雅县| 松原市| 长乐市| 高雄市| 武义县| 桐梓县| 浑源县| 临洮县| 仙居县| 株洲市| 涟源市| 祁阳县| 沙田区| 宜都市|