成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

TypeScript最佳實踐:是否使用noImplicitAny

shiguibiao / 2870人閱讀

摘要:我應該使用編譯器標志嗎編譯器選項所做的,基本上是將從可選類型語言轉換為強制類型檢驗語言。由于在實際情況中顯式地聲明被認為是不好的實踐,所以在開發(fā)過程的早期,您就需要分配正確的類型。因此,我的建議是將設置為。

我應該使用noImplicitAny TypeScript編譯器標志嗎?

noImplicitAny編譯器選項所做的,基本上是將TypeScript從可選類型語言轉換為強制類型檢驗語言。這使得TypeScript離JavaScript的超集稍微遠了一些,因為簡單的:

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

也將報錯——你必須明確聲明x的類型為any:

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

這意味著,如果你要把現(xiàn)有的JS代碼庫遷移到TS,那除了更改文件擴展名,你還得做一些較復雜的東西。這還意味著,在編寫代碼時,您需要更多地關注類型,如果不指定類型,編譯器就總是會「抱怨」。由于在實際情況中顯式地聲明any被認為是不好的實踐,所以在開發(fā)過程的早期,您就需要分配正確的類型。如果沒有顯式的聲明,這可能意味著「我太懶了,沒有正確地注釋這里的類型」。

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

Project Uses noImplicitAny
Angular YES
RxJS YES
VSCode NO
Babylon.js NO

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

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

“嗯,我應該在這里添加類型嗎?我有點懶,但這很好,但我還有其他工作要做……「我們明天再做吧?!?/pre>

因此,我的建議是將noImplicitAny設置為true。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/110250.html

相關文章

  • TypeScript最佳實踐是否使用strictnullcheck

    摘要:因為標志在時添加的,所以它的使用還沒有那么廣泛。截至年月,項目和項目中使用了該標志,而或都沒有使用該標志。如果執(zhí)行條件檢查可以推斷某些內(nèi)容是非空的。然而,對于三元運算符來說,不幸的是情況并非如此。 原文2017年7月發(fā)布并于2017年9月更新strictnullcheck(嚴格的null檢查) 我應該使用strictnullcheck TypeScript編譯器標志嗎? 空指針是最常...

    張漢慶 評論0 收藏0
  • 翻譯 | 開始使用 TypeScript 和 React

    摘要:原文地址原文作者譯者校對者和其他人有一些關于比較好的博文,跟隨這些博文,我最近開始使用。今天,我將展示如何從零開始建立一個工程,以及如何使用管理構建過程。我也將陳述關于的第一印象,尤其是使用和。 原文地址:Getting started with TypeScript and React 原文作者:Jack_Franklin 譯者:luxj 校對者:veizz Tom Dale...

    superw 評論0 收藏0
  • Angular系列之AoT編譯

    摘要:編譯在運行時才揭露它們,那樣有點太晚了。這是減少應用程序占用空間的最有效的技術之一。這將在未來得到改變。當前的最佳實踐是在開發(fā)器使用編譯,然后在發(fā)布產(chǎn)品前切換到編譯 概覽 眾所周知, angular應用在可執(zhí)行之前, angular應用中的組件和模板必須被轉化為可以被瀏覽器識別的javascript代碼, 而這種轉化正是通過angualr自身的編譯器所執(zhí)行的. angular提供了兩種...

    Object 評論0 收藏0
  • 從安裝認識Angular 2

    摘要:首先,要確認安裝了,并且創(chuàng)建了目錄并執(zhí)行初始化。想必看見上面的那么多包會一臉懵逼,沒關系,我第一眼看見這些的那刻,和你現(xiàn)在的表情一樣,下面在適當?shù)臅r候我會逐個解釋的,你只需要相信我上面的包都是跑所必須的,缺一不可。 關于介紹,只說一句:Angular 2是一個強大、全面、龐大的MVVM框架。 安裝 安裝,也算是一個坎,因為你需要安裝一大堆東西,卻不知道每個東西是做什么的,盡管有Angu...

    xietao3 評論0 收藏0
  • javascript 遷移 typescript 實踐

    摘要:但是,從長遠來看,尤其是多人協(xié)作的項目,還是很有必要的。第二參數(shù)為了某些場景下要大寫強調(diào),只需要傳入即可自動將結果轉成大寫。這個有可能是業(yè)務上線了之后才發(fā)生,直接導致業(yè)務不可用。而這也被證明是個好的編碼方式。 只是抱著嘗試的心態(tài)對項目進行了遷移,體驗了一番typeScript的強大,當然,習慣了JavaScript的靈活,弱類型,剛用上typeScript時會很不適應,猶如懶散慣了的人...

    niceforbear 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<