成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何利用TypeScript提升JavaScript編程效果

譯文
移動開發 Android
如果非要從現代開發領域找出一種通用語言的話,那么大多數人可能會把支持票投給JavaScript,網景公司打造的這款瀏覽器腳本語言在其近二十年的發展歷程當中一直在不斷成長,而且如今幾乎滲透到了我們生活的方方面面。

TypeScript能夠幫助大家編寫出更出色的JavaScript代碼、搞定規模可觀的JavaScript項目并為ECMAScript 6的來臨做好準備——更重要的是,上手TypeScript幾乎沒有任何難度可言。

如果非要從現代開發領域找出一種通用語言的話,那么大多數人可能會把支持票投給JavaScript。網景公司打造的這款瀏覽器腳本語言在其近二十年的發展歷程當中一直在不斷成長,而且如今幾乎滲透到了我們生活的方方面面。它不僅植根于開發工具的核心深處,同時也在Node.js等服務器端實現方案中有所體現,甚至已經作好了進軍微服務架構的戰斗準備。JavaScript同時也是相當一部分微軟開發技術方案的關鍵性組成部分。打算對微軟Office進行擴展?我們必須得使用JavaScript。想為Windows 10編寫一套用戶界面?JavaScript仍然是最好的選擇。

不過JavaScript本身還遠遠稱不上完美,特別是在大家希望構建一款包含有大量客戶端代碼的大型Web應用程序時。在這種情況下,TypeScript現身救駕了。TypeScript屬于JavaScript的一套超集,其中不僅加入了大量用于即將面世的ECMAScript 6的功能特性,同時也可以通過編譯將開發成果轉換為JavaScript代碼以供現代瀏覽器接納——當然也包括Node.js。

TypeScript是由微軟公司下轄的技術團隊負責設計,負責人為Anders Hjelsberg(他最廣為人知的成果應該是Turbo Pascal、Delphi以及C#)。微軟的這個專項團隊在設計過程中,將TypeScript打造成了一款能夠利用編譯器將所開發代碼轉換為JavaScript形式的方案。大家只需在TypeScript當中編寫代碼,而后將其交付至編譯器即可。由此生成的JavaScript轉換結果既能夠運行在服務器端,又可以由客戶端中的HTML進行調用。

TypeScript還將大量ECMAScript 6功能加入到了JavaScript當中,具體包括類與模塊。此外,該團隊還嘗試將這兩種本是同根生的語言加以進一步融合,從而滿足ECMAScript 6的標準化方法要求。這絕對是個明智的決定。通過這種方式,大家可以利用TypeScript開發出能夠為ECMAScript 6所接納的代碼,同時充分發揮TypeScript的靜態類型優勢以提升代碼安全性水平。

如果大家此前曾經使用過C或者Fortran等語言,那么一定不會對靜態類型感到陌生——它允許我們面向變量進行類型聲明,從而確保A始終屬于整數而C始終屬于字符串。雖然TyperScript的類型安全性并不像Fortran那么全面,但其仍然能夠定義數字與字符串,并利用Boolean類型顯著改善代碼調試機制。除此之外,TyperScript還提供選項以實現類型推斷,從而降低發生錯誤的可能性——例如我們可能會把某個對象分配給未經過適當轉換的字符串。如果大家的代碼為兩個數字相加,那么TyperScript會認定其結果始終為數字。

大家也可以利用TypeScript將類型應用至數組當中,或者利用enums為特定變量名稱設置值。作為一款極具實用性的工具,enums具備雙向屬性,因此大家可以利用它通過數字來查找某條變量名稱——這就使得大家可以在代碼當中更輕松地建立鍵/值記錄。如果大家不確定自己可能使用哪種類型,則可以將變量設定為any,在這種情況下TypeScript不會推斷其具體類型、大家也不會因此遇到錯誤或者警告。TypeScript類型可以自行選擇,因此我們用不著在編譯或者運行之前、首先向現有代碼添加各種類型,而這將有效簡化現有代碼的相關遷移工作。再有,我們可以從純JavaScript代碼入手,而后隨著其它TypeScript功能的加入而同時添加相關類型。

需要注意的是,大家的現有JavaScript代碼將成為TypeScript應用程序的一部分加以運行。而如果將代碼遷移到ECMAScript 6或者TypeScript語法形式下,大家即可享受到TypeScript的各種功能優勢。而如果我們使用具備TypeScript識別能力的工具,則可以擁有面向Visual Studio IntelliSense的支持能力——其能夠幫助我們對函數調用中的類型進行管理。除此之外,大家也能夠利用TypeScript聲明文件向各類常用庫及服務中快速添加類型支持,例如人氣極高的jQuery庫。

擁有這樣一款類型化且近似于JavaScript的語言能夠給類使用與模塊構建帶來顯著簡化(與AngularJS當中的處理方式非常相近)。類型的存在能夠確保某個警告類中的所有實例都通過字符串進行調用,這將幫助我們輕松構建起更理想的構造函數。大家可以將這種類型化構造函數調用視為一種契約,負責定義兩段代碼之間的相互作用——并幫助我們更輕松地在不同應用程序之間重復使用同一函數。

在函數調用當中定義類型正是創建接口結構的關鍵所在,能夠使我們的代碼更具面向對象特性。大家可以將函數元素明確定義為接口,并選擇在函數當中使用更具描述性的名稱,同時又不會影響到進行調用檢查時向IntelliSense等函數所必需的工具發出通知。

以這種方式定義類型與接口,能夠讓多位開發人員輕松對大型JavaScript項目加以管理。而在函數與類設計中秉持“接口至上”的契約化方法,則能夠幫助大家在對應用程序中特定部分進行優化時不至于影響到其余部分,或者從其他開發者手中借用某種接口定義并直接運用到其它實現方案當中。這種方式允許我們以更為高效的方式使用諸如Git以及GitHub等工具,從而在一套持續開發模型當中輕松管理多個代碼分支。

如果大家使用的是Java或者C#語言,那么對TypeScript(以及ECMAScript 6)的類實現機制一定不會感到陌生。大家可以在構造函數之內創建類,從而對方法中所使用的類型進行定義,最終利用類似的來處理各種內部對象。大家也可以利用繼承、添加功能與重寫方法等方式對類進行擴展。而更值得注意的是,TypeScript還支持常見于函數與接口當中的泛型——其能夠幫助大家交付可重復使用的函數。

一旦掌握了TypeScript處理類與函數的方式,大家就可以著手將其組織在模塊當中,在這里類與函數能夠被拆分至多個文件當中。這顯然是一種非常便捷的代碼組織方案——舉例來說,我們可以利用幾個文件來處理購物車當中的不同函數。在此之后,大家可以對各個子模塊進行分別更新,從而在特定函數中利用調整歸零機制改善其性能水平,同時又不至于對其它函數造成影響。具備聲明文件的JavaScript庫也可以作為模塊使用,因此大家能夠在TypeScript應用程序當中充分發揮由此帶來的諸多優勢。

如果大家希望利用TypeScript處理日常開發工作,那么當前版本的Visual Studio以及新的Visual Studio Code跨平臺編輯工具都提供相關支持能力。除此之外,TypeScript網站上還擁有一套在線編碼環境,大家可以點擊此處訪問并在這里體驗自己的編碼思路或者查看在線教程。

在將JavaScript引入大型乃至超大型項目當中時,以TypeScript作為切入點能夠帶來極為可觀的現實意義。TypeScript不僅能夠幫助大家在具備充分掌控能力且遵循可重復使用方針的前提下完成編碼工作,同時也能夠擁有一條通往ECMAScript 6的理想路徑。

責任編輯:chenqingxiang 來源: 51CTO
相關推薦

2025-04-07 04:00:00

AngularTypeScript裝飾器

2024-06-28 16:15:59

CIO銷售漏斗

2015-07-24 19:10:47

大數據

2021-01-12 10:22:45

JavaScript并發控制前端

2025-02-25 11:12:53

2023-06-07 09:00:00

JavaScript開發TypeScript

2011-08-09 17:15:45

注冊表注冊表編輯器

2016-10-27 08:39:35

大數據設計定量

2020-04-17 10:14:47

人工智能AI客戶服務

2010-11-18 23:39:48

云計算

2022-05-30 14:33:55

MLOpsIDC人工智能

2019-08-30 08:54:05

TypeScriptJavaScript語言

2010-07-30 13:08:38

Flex調用JavaS

2018-01-10 15:03:27

前端TypeScriptJavaScript

2012-10-08 09:15:57

JavaScriptJSTypeScript

2011-09-15 17:49:32

Windows7效率

2021-04-24 23:31:18

Python日志編程

2016-01-29 10:39:35

排序搜索美團

2023-12-01 07:10:01

JavascriptTypescript

2020-10-15 13:29:57

javascript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久9999鸭 | 在线视频 中文字幕 | 一级欧美 | 国产亚洲精品久久久久动 | 免费日韩av网站 | 精品久久久久久久久久久 | 国产午夜一级 | 国产第二页 | a免费视频| 国产精品久久国产精品99 gif | av网站免费在线观看 | 国产一区二区三区四区 | 国产精品久久久久久久久久99 | 亚洲欧洲视频 | 91精品久久久久久久久中文字幕 | 久久99网 | 黄色欧美在线 | 蜜臀网站 | 九九热久久免费视频 | 国产精品国产精品国产专区不片 | 日本天天操 | 国产欧美日韩精品一区二区三区 | 日韩电影一区 | 在线观看日韩精品视频 | 九热在线 | 欧美日韩网站 | 日本黄视频在线观看 | 免费成人高清在线视频 | 国产美女一区二区 | 免费一级片 | 午夜黄色影院 | 91精品国产综合久久婷婷香蕉 | 欧美男人天堂 | 日韩精品 电影一区 亚洲 | 五月激情综合 | 99精品视频在线观看 | 日韩精品久久久久 | 久久一 | 日批av| 久久小视频 | 成人亚洲视频 |