譯者 | 李睿
隨著越來越多的開發人員采用TypeScript,人們需要了解在下一個項目中應該使用TypeScript的原因。盡管它在早期應用中遇到了一些阻力,但在過去十年,它迅速成為一種廣泛使用的編程語言。
以下介紹如何使用TypeScript以及它給開發人員帶來的一些好處。但首先需要深入了解TypeScript是什么以及它可以解決的問題。
什么是TypeScript?
TypeScript是微軟公司在2012年開發的一種開源編程語言,是JAVAScript的一個超集。這意味著它包含所有的JavaScript,但有更多的功能。
它以JavaScript的功能和結構為基礎,具有其他功能,例如類型或面向對象編程,并且可以編譯為普通JavaScript。因此,任何代碼在JavaScript中都是有價值的。
現在,這一切對開發的項目意味著什么?
TypeScript能解決什么問題?
TypeScript的主要目的是在開發復雜應用程序時提高生產力。實現這種情況的一種方法是使集成開發環境(IDE)具有更豐富的環境,以便在鍵入代碼時發現常見錯誤(bug)。
這為開發人員開發的項目增加了安全性。無論開發人員何時進行更改,都不再需要檢查bug。
由于TypeScript在技術上涉及到在JavaScript中添加靜態類型,它可以幫助開發人員避免像這樣經典的錯誤:
當它為開發人員捕獲錯誤時,這使得代碼重構更容易,而不會嚴重破壞它。它具有接口、抽象類、類型別名、元組、函數重載和泛型等功能。
在大型JavaScript項目中采用這種編程語言可以提供更健壯的軟件,并且仍然可以在JavaScript應用程序運行的任何地方部署。
為什么TypeScript比JavaScript更好?
TypeScript的座右銘是“可擴展的JavaScript”。這是因為它為JavaScript帶來了未來的發展。
但它真的像人們說的那么好嗎?以下是TypeScript優于JavaScript的幾個方面:
(1)可選靜態類型
JavaScript是一種動態類型語言。盡管這有它的好處,但是動態類型的自由通常會導致bug。這不僅降低了開發人員的效率,而且由于增加新代碼行的成本而降低了開發速度。
但是TypeScript的靜態類型不同于JavaScript的動態類型。
例如,當不確定JavaScript中的類型時,通常會在運行時依賴TypeError來提示變量類型錯誤的原因。
另一方面,TypeScript為JavaScript添加了語法。它的編譯器使用這種語法在可能的代碼錯誤發生之前識別出來,然后生成瀏覽器可以理解的JavaScript。
一項研究表明,TypeScript可以成功檢測出15%的JavaScript漏洞。
(2)IDE支持
在早期,TypeScript只在微軟的Visual Studio代碼編輯器中得到支持。然而,隨著它越來越受歡迎,越來越多的代碼編輯器和IDE開始原生地或通過插件來支持編程語言。
開發人員幾乎可以在所有的代碼編輯器上編寫TypeScript代碼。這種廣泛的IDE支持使它更受軟件開發人員的歡迎。
其他支持它的IDE支持包括Eclipse、Atom、WebStorm和CATS。
(3)面向對象
它支持面向對象的編程概念,例如類、封裝、繼承、抽象和接口。面向對象編程(OOP)范例使創建組織良好、可擴展的代碼變得更加容易,并且隨著項目的規模和復雜性的發展,這種好處變得更加明顯。
(4)可讀性
由于添加了嚴格類型和元素,使代碼更具表現力,因此將能夠看到編寫代碼的開發人員的設計意圖。這對于遠程團隊來說非常有效,因為自解釋代碼可以彌補團隊之間缺乏直接溝通的不足。
(5)社區支持
TypeScript很幸運,有一群才華橫溢的開發人員不懈地努力改進開源語言。這就解釋了它在過去幾年中在開發人員和軟件開發團隊中獲得青睞的原因。
大多數JavaScript應用程序包含數十萬個文件。對單個文件的一個更改可能會影響其他文件的行為。驗證項目中每個元素之間的關系可能會很快變得非常耗時。作為一種類型檢查語言,它會在開發過程中自動完成這些工作,并提供即時反饋。
雖然在處理小項目時可能看不到這有多嚴重,但具有大型代碼庫的復雜項目可能會因為到處都是bug而變得混亂。
每個開發人員都希望更高效、更快速,這有助于提高項目的可擴展性。此外,TypeScript的語言特性和引用驗證使其優于JavaScript。
最終,TypeScript改善了開發人員的體驗和代碼的可維護性,因為開發人員對自己的代碼更有信心。這也將節省大量的時間,否則他們將花費大量的時間來驗證他們是否不小心破壞了項目。這種編程語言還提供了團隊之間和團隊內部更好的協作。
TypeScript的優點
它為開發人員和軟件開發團隊提供了顯著的優勢。在下一個項目的開發中,TypeScript有五個主要的優勢:
(1)編譯時錯誤
這是使用TypeScript的一個明顯的優勢。編譯時錯誤是大多數開發人員開始使用它的原因。他們可以使用編譯器在編譯時而不是運行時檢測潛在的錯誤。
JavaScript無法支持類型和編譯時錯誤檢查,這意味著它不適合復雜和大型代碼庫中的服務器端代碼。
使用TypeScript的另一個原因是它在開發過程中檢測編譯錯誤,從而不太可能發生運行時錯誤。它結合了靜態類型,幫助開發人員在編譯時檢查類型是否正確。
(2)到處運行
TypeScript可以編譯成純JavaScript,這意味著它可以在任何地方運行。事實上,它可以編譯成JavaScript的任何版本,包括最新版本ES2022以及其他版本(例如ES6、ES5和ES3)。開發人員可以在前端使用React和Angular這樣的框架,或者在后端使用Node.js。
(3)工具優先于文檔
如果想要開發一個長期成功的項目,文檔是必不可少的。但這可能很棘手,因為很容易忽略文檔,很難執行,而且如果不再是最新的文檔,就不可能報告。這使得工具優先于文檔變得至關重要。
TypeScript非常重視工具。這不僅僅是輸入代碼時的錯誤和補全。它記錄了函數期望的參數、對象的形狀以及可能未定義的變量。它還會通知開發人員何時需要更新以及更新的具體位置。
如果沒有這種編程語言,開發人員將不得不浪費大量時間查找對象的形狀,梳理文檔,并希望它們是最新的?;蛘邔⒉坏貌徽{試代碼,并希望對哪些字段是必需的和可選的預測是準確的。
(4)面向對象編程(OOP)
作為一種面向對象的編程語言,TypeScript非常適合必須主動更新或維護的大型復雜項目。面向對象編程提供的一些好處是:
- 通過繼承重用代碼:在對象之間分配關系和子類的能力使開發人員能夠在保留唯一層次結構的同時重用公共邏輯。面向對象編程(OOP)的這一屬性加快了開發速度,并通過支持更深入的數據分析提供了更高的準確性。
- 由于多態性而增加的靈活性:根據場景的不同,對象可以根據場景采取多種形式。該程序將識別每次執行該對象所需的含義或用法,這減少了重復代碼的需要。
- 通過封裝減少數據損壞:每個對象的實現和狀態在定義的類或邊界內被私有地保存。其他對象不能訪問該類,也沒有權限進行更改。它們只能調用一組方法或公共函數。因此,封裝可以幫助開發人員執行數據隱藏,從而提高程序安全性,并防止意外的數據損壞。
- 有效解決問題:面向對象編程將復雜問題分解為可解決的塊。對于每個小問題,開發人員編寫一個類來完成他們需要的功能。
最終,使用面向對象編程(OOP)提供了改進的數據結構和可靠性,同時從長遠來看節省了時間。
(5)靜態類型
除了幫助開發人員捕獲bug之外,靜態類型還為代碼提供了更多的結構,并確保它是自文檔化的代碼。這是因為信息的類型使人們更容易理解類、函數和其他結構的工作方式。重構代碼或消除技術債務也變得更加容易。
此外,靜態類型與自動補全工具無縫集成,確保它們更加可靠和準確。這樣,開發人員可以更快地編寫代碼。在大多數情況下,靜態類型的代碼對人類或機器人來說更容易閱讀。
逐步安裝TypeScript
到目前為止,已經了解了TypeScript的作用,以及它如何使編寫代碼變得更容易。但是如何使用TypeScript?
首先需要安裝它,以下是一個完整的指南。
(1)步驟1:下載并安裝NodeJS框架
第一步是將NodeJS框架(npm版本)下載并安裝到計算機中。如果還沒有安裝,可以訪問Node下載頁面進行安裝。建議使用TS(長期支持)版本,因為它是最穩定的。
(2)步驟2:導航到「開始」菜單并單擊命令提示符
在安裝完Node和NPM后,在NodeJS命令提示符下運行如下命令:
復制
npm install -g TypeScript
該命令將把TypeScript安裝到本地系統中。
(3)步驟3:驗證安裝
可以通過運行下面的命令來驗證TypeScript是否已經安裝:
復制
tsc – v
tsc是TypeScript編譯器,而-v標志顯示的是TS版本。參見以下內容:
一旦確認了這一點,TypeScript就已經成功安裝。也可以使用命令“@”和所需的版本來安裝特定的TS版本。
例如:
復制
npm install –global TypeScript@4.9.3
如何將TypeScript安裝到當前項目中
開發人員也可以根據每個項目進行設置。也就是說,將TypeScriptTS版本安裝到當前項目中。這有助于開發人員擁有具有不同TypeScript版本的多個項目,并確保每個項目在沒有交互的情況下一致工作。
要在項目中本地安裝TypeScript編譯器,只需使用以下命令:
復制
npm install -save-dev TypeScript
如何卸載TypeScript
要卸載它,可以使用與安裝時相同的命令。只需將安裝(install)替換為卸載(uninstall),如下所示:
復制
npm uninstall –global TypeScript
如何使用TypeScript
在安裝之后,就可以使用了。需要安裝像Visual code Studio這樣的代碼編輯器。如果沒有安裝,需要下載并安裝VS Code。在完成這一操作之后,以下了解如何使用TypeScript:
- 步驟1:創建一個簡單的Hello World項目。這將幫助了解如何使用TypeScript。
- 步驟2:在安裝完成后,執行如下命令制作工程目錄:
復制
mkdir HelloWorld
然后進入新目錄:
復制
cd HelloWorld
- 步驟3:啟動Visual Studio Code(或喜歡的代碼編輯器)。這里將使用VS code。
- 步驟4:導航到文件資源管理器并創建一個名為helloworld.ts的新文件。開發人員可以自己命名文件名,但是,重要的是要以.ts擴展名為結尾。
- 步驟5:接下來,添加以下TypeScript代碼。
復制
let message: string = ‘Hello, World!’; console.log(message);
你將會注意到關鍵字let和字符串類型聲明。
- 步驟6:要編譯TypeScript代碼,只需打開集成終端(Ctrl+`)并鍵入:
復制
tsc helloworld.ts
這將編譯并創建一個新的helloworld.js JavaScript文件。
當打開helloworld.js時,就會發現它看起來和helloworld.ts沒有太大的不同。人們將看到類型信息現在已被刪除,?let’已被?var’取代。
結語
最終,使用TypeScript取決于開發的項目以及所需的時間和精力。開發團隊將需要評估使用TypeScript的優點和缺點。因此,從更好的代碼完成到預防bug,使用TypeScript會讓開發團隊在編寫代碼時更輕松。
原文標題:Why Use TypeScript for Your Projects?,作者:Alfonso Valdes