日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

為什么要在項目中使用TypeScript?

來源: 責編: 時間:2023-11-30 09:25:37 229觀看
導讀譯者 | 李睿審校 | 重樓隨著越來越多的開發人員采用TypeScript,人們需要了解在下一個項目中應該使用TypeScript的原因。盡管它在早期應用中遇到了一些阻力,但在過去十年,它迅速成為一種廣泛使用的編程語言。以下介紹如何

譯者 | 李睿0ja28資訊網——每日最新資訊28at.com

審校 | 重樓0ja28資訊網——每日最新資訊28at.com

隨著越來越多的開發人員采用TypeScript,人們需要了解在下一個項目中應該使用TypeScript的原因。盡管它在早期應用中遇到了一些阻力,但在過去十年,它迅速成為一種廣泛使用的編程語言。0ja28資訊網——每日最新資訊28at.com

0ja28資訊網——每日最新資訊28at.com

以下介紹如何使用TypeScript以及它給開發人員帶來的一些好處。但首先需要深入了解TypeScript是什么以及它可以解決的問題。0ja28資訊網——每日最新資訊28at.com

什么是TypeScript?

TypeScript是微軟公司在2012年開發的一種開源編程語言,是JavaScript的一個超集。這意味著它包含所有的JavaScript,但有更多的功能。0ja28資訊網——每日最新資訊28at.com

它以JavaScript的功能和結構為基礎,具有其他功能,例如類型或面向對象編程,并且可以編譯為普通JavaScript。因此,任何代碼在JavaScript中都是有價值的。0ja28資訊網——每日最新資訊28at.com

現在,這一切對開發的項目意味著什么?0ja28資訊網——每日最新資訊28at.com

TypeScript能解決什么問題?

TypeScript的主要目的是在開發復雜應用程序時提高生產力。實現這種情況的一種方法是使集成開發環境(IDE)具有更豐富的環境,以便在鍵入代碼時發現常見錯誤(bug)。0ja28資訊網——每日最新資訊28at.com

這為開發人員開發的項目增加了安全性。無論開發人員何時進行更改,都不再需要檢查bug。0ja28資訊網——每日最新資訊28at.com

由于TypeScript在技術上涉及到在JavaScript中添加靜態類型,它可以幫助開發人員避免像這樣經典的錯誤:0ja28資訊網——每日最新資訊28at.com

0ja28資訊網——每日最新資訊28at.com

當它為開發人員捕獲錯誤時,這使得代碼重構更容易,而不會嚴重破壞它。具有接口、抽象類、類型別名、元組、函數重載和泛型等功能。0ja28資訊網——每日最新資訊28at.com

在大型JavaScript項目中采用這種編程語言可以提供更健壯的軟件,并且仍然可以在JavaScript應用程序運行的任何地方部署。0ja28資訊網——每日最新資訊28at.com

為什么TypeScript比JavaScript更好?

TypeScript的座右銘是“可擴展的JavaScript”。這是因為它為JavaScript帶來了未來的發展。0ja28資訊網——每日最新資訊28at.com

但它真的像人們說的那么好嗎?以下是TypeScript優于JavaScript的幾個方面:0ja28資訊網——每日最新資訊28at.com

(1)可選靜態類型

JavaScript是一種動態類型語言。盡管這有它的好處,但是動態類型的自由通常會導致bug。這不僅降低了開發人員的效率,而且由于增加新代碼行的成本而降低了開發速度。0ja28資訊網——每日最新資訊28at.com

但是TypeScript的靜態類型不同于JavaScript的動態類型。0ja28資訊網——每日最新資訊28at.com

例如,當不確定JavaScript中的類型時,通常會在運行時依賴TypeError來提示變量類型錯誤的原因。0ja28資訊網——每日最新資訊28at.com

另一方面,TypeScript為JavaScript添加了語法。它的編譯器使用這種語法在可能的代碼錯誤發生之前識別出來,然后生成瀏覽器可以理解的JavaScript。0ja28資訊網——每日最新資訊28at.com

一項研究表明,TypeScript可以成功檢測出15%的JavaScript漏洞。0ja28資訊網——每日最新資訊28at.com

(2)IDE支持

在早期,TypeScript只在微軟的Visual Studio代碼編輯器中得到支持。然而,隨著它越來越受歡迎,越來越多的代碼編輯器和IDE開始原生地或通過插件來支持編程語言。0ja28資訊網——每日最新資訊28at.com

開發人員幾乎可以在所有的代碼編輯器上編寫TypeScript代碼。這種廣泛的IDE支持使它更受軟件開發人員的歡迎。0ja28資訊網——每日最新資訊28at.com

其他支持它的IDE支持包括Eclipse、Atom、WebStorm和CATS。0ja28資訊網——每日最新資訊28at.com

(3)面向對象

它支持面向對象的編程概念,例如類、封裝、繼承、抽象和接口。面向對象編程(OOP)范例使創建組織良好、可擴展的代碼變得更加容易,并且隨著項目的規模和復雜性的發展,這種好處變得更加明顯。0ja28資訊網——每日最新資訊28at.com

(4)可讀性

由于添加了嚴格類型和元素,使代碼更具表現力,因此將能夠看到編寫代碼的開發人員的設計意圖。這對于遠程團隊來說非常有效,因為自解釋代碼可以彌補團隊之間缺乏直接溝通的不足。0ja28資訊網——每日最新資訊28at.com

(5)社區支持

TypeScript很幸運,有一群才華橫溢的開發人員不懈地努力改進開源語言。這就解釋了它在過去幾年中在開發人員和軟件開發團隊中獲得青睞的原因。0ja28資訊網——每日最新資訊28at.com

大多數JavaScript應用程序包含數十萬個文件。對單個文件的一個更改可能會影響其他文件的行為。驗證項目中每個元素之間的關系可能會很快變得非常耗時。作為一種類型檢查語言,它會在開發過程中自動完成這些工作,并提供即時反饋。0ja28資訊網——每日最新資訊28at.com

雖然在處理小項目時可能看不到這有多嚴重,但具有大型代碼庫的復雜項目可能會因為到處都是bug而變得混亂。0ja28資訊網——每日最新資訊28at.com

每個開發人員都希望更高效、更快速,這有助于提高項目的可擴展性。此外,TypeScript的語言特性和引用驗證使其優于JavaScript。0ja28資訊網——每日最新資訊28at.com

最終,TypeScript改善了開發人員的體驗和代碼的可維護性,因為開發人員對自己的代碼更有信心。這也將節省大量的時間,否則他們將花費大量的時間來驗證他們是否不小心破壞了項目。這種編程語言還提供了團隊之間和團隊內部更好的協作。0ja28資訊網——每日最新資訊28at.com

TypeScript的優點

它為開發人員和軟件開發團隊提供了顯著的優勢。在下一個項目的開發中,TypeScript有五個主要的優勢:0ja28資訊網——每日最新資訊28at.com

(1)編譯時錯誤

這是使用TypeScript一個明顯的優勢。編譯時錯誤是大多數開發人員開始使用它的原因。他們可以使用編譯器在編譯時而不是運行時檢測潛在的錯誤。0ja28資訊網——每日最新資訊28at.com

JavaScript無法支持類型和編譯時錯誤檢查,這意味著它不適合復雜和大型代碼庫中的服務器端代碼。0ja28資訊網——每日最新資訊28at.com

使用TypeScript的另一個原因是它在開發過程中檢測編譯錯誤,從而不太可能發生運行時錯誤。它結合了靜態類型,幫助開發人員在編譯時檢查類型是否正確0ja28資訊網——每日最新資訊28at.com

(2)到處運行

TypeScript可以編譯成純JavaScript,這意味著它可以在任何地方運行。事實上,它可以編譯成JavaScript的任何版本,包括最新版本ES2022以及其他版本(例如ES6、ES5和ES3)。開發人員可以在前端使用React和Angular這樣的框架,或者在后端使用Node.js。0ja28資訊網——每日最新資訊28at.com

(3)工具優先于文檔

如果想要開發一個長期成功的項目,文檔是必不可少的。但這可能很棘手,因為很容易忽略文檔,很難執行,而且如果不再是最新的文檔,就不可能報告。這使得工具優先于文檔變得至關重要。0ja28資訊網——每日最新資訊28at.com

TypeScript非常重視工具。這不僅僅是輸入代碼時的錯誤和補全。它記錄了函數期望的參數、對象的形狀以及可能未定義的變量。它還會通知開發人員何時需要更新以及更新的具體位置。0ja28資訊網——每日最新資訊28at.com

如果沒有這種編程語言,開發人員將不得不浪費大量時間查找對象的形狀,梳理文檔,并希望它們是最新的?;蛘邔⒉坏貌徽{試代碼,并希望對哪些字段是必需的和可選的預測是準確的。0ja28資訊網——每日最新資訊28at.com

(4)面向對象編程(OOP)

作為一種面向對象的編程語言,TypeScript非常適合必須主動更新或維護的大型復雜項目。面向對象編程提供的一些好處是:0ja28資訊網——每日最新資訊28at.com

  • 通過繼承重用代碼:在對象之間分配關系和子類的能力使開發人員能夠在保留唯一層次結構的同時重用公共邏輯。面向對象編程(OOP)的這一屬性加快了開發速度,并通過支持更深入的數據分析提供了更高的準確性。
  • 由于多態性而增加的靈活性:根據場景的不同,對象可以根據場景采取多種形式。該程序將識別每次執行該對象所需的含義或用法,這減少了重復代碼的需要。
  • 通過封裝減少數據損壞:每個對象的實現和狀態在定義的類或邊界內被私有地保存。其他對象不能訪問該類,也沒有權限進行更改。它們只能調用一組方法或公共函數。因此,封裝可以幫助開發人員執行數據隱藏,從而提高程序安全性,并防止意外的數據損壞。
  • 有效解決問題:面向對象編程將復雜問題分解為可解決的塊。對于每個小問題,開發人員編寫一個類來完成他們需要的功能。

最終,使用面向對象編程(OOP)提供了改進的數據結構和可靠性,同時從長遠來看節省了時間。0ja28資訊網——每日最新資訊28at.com

(5)靜態類型

除了幫助開發人員捕獲bug之外,靜態類型還為代碼提供了更多的結構,并確保它是自文檔化的代碼。這是因為信息的類型使人們更容易理解類、函數和其他結構的工作方式。重構代碼或消除技術債務也變得更加容易。0ja28資訊網——每日最新資訊28at.com

此外,靜態類型與自動補全工具無縫集成,確保它們更加可靠和準確。這樣,開發人員可以更快地編寫代碼。在大多數情況下,靜態類型的代碼對人類或機器人來說更容易閱讀。0ja28資訊網——每日最新資訊28at.com

逐步安裝TypeScript

到目前為止,已經了解了TypeScript的作用,以及它如何使編寫代碼變得更容易。但是如何使用TypeScript?0ja28資訊網——每日最新資訊28at.com

首先需要安裝它,以下是一個完整的指南。0ja28資訊網——每日最新資訊28at.com

(1)步驟1:下載并安裝NodeJS框架

第一步是將NodeJS框架(npm版本)下載并安裝到計算機中。如果還沒有安裝,可以訪問Node下載頁面進行安裝。建議使用TS(長期支持)版本,因為它是最穩定的。0ja28資訊網——每日最新資訊28at.com

0ja28資訊網——每日最新資訊28at.com

(2)步驟2:導航到「開始」菜單并單擊命令提示符

在安裝完Node和NPM后,在NodeJS命令提示符下運行如下命令:0ja28資訊網——每日最新資訊28at.com

npm install -g TypeScript

0ja28資訊網——每日最新資訊28at.com

該命令將把TypeScript安裝到本地系統中。0ja28資訊網——每日最新資訊28at.com

(3)步驟3:驗證安裝

可以通過運行下面的命令來驗證TypeScript是否已經安裝:0ja28資訊網——每日最新資訊28at.com

tsc – v

0ja28資訊網——每日最新資訊28at.com

tsc是TypeScript編譯器,而-v標志顯示的是TS版本。參見以下內容:0ja28資訊網——每日最新資訊28at.com

一旦確認了這一點,TypeScript就已經成功安裝。也可以使用命令“@”和所需的版本來安裝特定的TS版本。0ja28資訊網——每日最新資訊28at.com

例如:0ja28資訊網——每日最新資訊28at.com

npm install –global TypeScript@4.9.3

如何將TypeScript安裝到當前項目中

開發人員也可以根據每個項目進行設置。也就是說,將TypeScriptTS版本安裝到當前項目中。這有助于開發人員擁有具有不同TypeScript版本的多個項目,并確保每個項目在沒有交互的情況下一致工作。0ja28資訊網——每日最新資訊28at.com

要在項目中本地安裝TypeScript編譯器,只需使用以下命令:0ja28資訊網——每日最新資訊28at.com

npm install -save-dev TypeScript

如何卸載TypeScript

要卸載它,可以使用與安裝時相同的命令。只需將安裝(install)替換為卸載(uninstall),如下所示:0ja28資訊網——每日最新資訊28at.com

npm uninstall –global TypeScript

0ja28資訊網——每日最新資訊28at.com

如何使用TypeScript

在安裝之后,就可以使用了。需要安裝像Visual code Studio這樣的代碼編輯器。如果沒有安裝,需要下載并安裝VS Code。在完成這一操作之后,以下了解如何使用TypeScript:0ja28資訊網——每日最新資訊28at.com

  • 步驟1:創建一個簡單的Hello World項目。這將幫助了解如何使用TypeScript。
  • 步驟2:在安裝完成后,執行如下命令制作工程目錄:
mkdir HelloWorld

然后進入新目錄:0ja28資訊網——每日最新資訊28at.com

cd HelloWorld
  • 步驟3:啟動Visual Studio Code(或喜歡的代碼編輯器)。這里將使用VS code。
  • 步驟4:導航到文件資源管理器并創建一個名為helloworld.ts的新文件。開發人員可以自己命名文件名,但是,重要的是要以.ts擴展名為結尾。

0ja28資訊網——每日最新資訊28at.com

  • 步驟5:接下來,添加以下TypeScript代碼。
let message: string = ‘Hello, World!’; console.log(message);

將會注意到關鍵字let和字符串類型聲明。0ja28資訊網——每日最新資訊28at.com

  • 步驟6:要編譯TypeScript代碼,只需打開集成終端(Ctrl+`)并鍵入:
tsc helloworld.ts

0ja28資訊網——每日最新資訊28at.com

這將編譯并創建一個新的helloworld.js JavaScript文件。0ja28資訊網——每日最新資訊28at.com

當打開helloworld.js時,就會發現它看起來和helloworld.ts沒有太大的不同。人們將看到類型信息現在已被刪除,?let已被?var取代。0ja28資訊網——每日最新資訊28at.com

結語

最終,使用TypeScript取決于開發的項目以及所需的時間和精力。開發團隊將需要評估使用TypeScript的優點和缺點。因此,從更好的代碼完成到預防bug,使用TypeScript會讓開發團隊在編寫代碼時更輕松。0ja28資訊網——每日最新資訊28at.com

原文標題:Why Use TypeScript for Your Projects?,作者:Alfonso Valdes0ja28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-35251-0.html為什么要在項目中使用TypeScript?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: BOE(京東方)擬投建國內首條第 8.6 代 AMOLED 生產線 開啟 OLED 產業新紀元

下一篇: 我們聊聊從頭學服務器組件:在導航間保留狀態

標簽:
  • 熱門焦點
  • 中興AX5400Pro+上手體驗:再升級 雙2.5G網口+USB 3.0這次全都有

    2021年11月的時候,中興先后發布了兩款路由器產品,中興AX5400和中興AX5400 Pro,從產品命名上就不難看出這是隸屬于同一系列的,但在外觀設計上這兩款產品可以說是完全沒一點關系
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 分享六款相見恨晚的PPT模版網站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS網站旨在為全球Office用戶提供豐富的高品質原創PPT模板、實用文檔、數據圖表及個性化定制服務。優點:OfficePLUS是微軟官方網站,囊括PPT模板、Word模
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯網企業調整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 小米MIX Fold 3配置細節曝光:搭載領先版驍龍8 Gen2+罕見5倍長焦

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 三星顯示已開始為AR設備研發硅基LED微顯示屏

    7月18日消息,據外媒報道,隨著蘋果首款頭顯產品Vision Pro在6月份正式推出,AR/VR/MR等頭顯產品也就將成為各大公司下一個重要的競爭領域,對顯示屏這一關
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
  • 電博會與軟博會實現"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發揮展會拉動人流、信息流、資金流實現快速交互流動的作用,繼而推動區域經濟良性發展;又可以聚
Top 主站蜘蛛池模板: 札达县| 霍林郭勒市| 定陶县| 武乡县| 曲松县| 民权县| 景泰县| 武邑县| 尚义县| 宕昌县| 文登市| 冀州市| 屯昌县| 安图县| 师宗县| 江源县| 德阳市| 阿坝| 家居| 商河县| 雷州市| 谢通门县| 高陵县| 广水市| 彭州市| 邵东县| 雷州市| 南通市| 吉安市| 宿州市| 北票市| 安图县| 修文县| 大邑县| 绥中县| 兴安县| 寿阳县| 南岸区| 霍州市| 绵竹市| 阿瓦提县|