成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

TypeScript最佳實踐:是否使用noImplicitAny

shiguibiao / 2969人閱讀

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

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

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

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

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

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

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

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://hztianpu.com/yun/110250.html

相關(guān)文章

  • TypeScript最佳實踐是否使用strictnullcheck

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

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

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

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

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

    Object 評論0 收藏0
  • 從安裝認(rèn)識Angular 2

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

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

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

    niceforbear 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<