使用TypeScript如何提高JavaScript編程效果?

       TypeScript是個什麼鬼?和JavaScript有什麼關係?前端

       TypeScript是由微軟開發的一種可快速入門的開源的編程語言,是JavaScript的一個超集,且向這個語言添加了可選的靜態類型和基於類的面向對象編程。可以幫助web前端開發人員編出更出色的JavaScript代碼、搞定規模可觀的JavaScript項目併爲ECMAScript 6的來臨作好準備。java

       JavaScript是一款通用腳本語言,植根於開發工具的核心深處,同時在Node.js等服務器端實現方案中也有所體現。除此以外,JavaScript仍是微軟開發技術方案的關鍵組成部分,若想對office進行擴展,不使用JavaScript是不行的。web

      雖然JavaScript已發展得很是強悍了,但其離完美還有一大段距離,特別是在構建包含大量客戶端代碼的web應用時,JavaScript的不足之處就很是明顯。這個時候,配合TypeScript使用,JavaScript的缺陷就可完美解決。只需在TypeScript當中編寫代碼,然後將其交付至編譯器,便可將所開發代碼轉換爲可以運行在服務器端,又能夠由客戶端中的HTML進行調用的JavaScript形式方案。編程

      TypeScript還將大量ECMAScript 6功能加入到了JavaScript當中,具體包括類與模塊,並嘗試將這兩種本是同根生的語言加以進一步融合,從而知足ECMAScript 6的標準化方法要求。經過這種方式,你們能夠利用TypeScript開發出可以爲ECMAScript 6所接納的代碼,同時充分發揮TypeScript的靜態類型優點以提高代碼安全性水平。數組

      TypeScript容許咱們面向變量進行類型聲明,從而確保A始終屬於整數而C始終屬於字符串。雖然TyperScript的類型安全性並不像Fortran那麼全面,但其仍然可以定義數字與字符串,並利用Boolean類型顯著改善代碼調試機制。除此以外,TyperScript還提供選項以實現類型推斷,從而下降發生錯誤的可能性若是你們的代碼爲兩個數字相加,那麼TyperScript會認定其結果始終爲數字。安全

       經過使用TypeScript,開發者也能夠將類型應用至數組中,或利用enums爲特定變量名稱設置值。若是不肯定本身可能使用哪一種類型,則能夠將變量設定爲any,在這種狀況下TypeScript不會推斷其具體類型、你們也不會所以遇到錯誤或者警告。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應用程序當中充分發揮由此帶來的諸多優點。  

       在大型web應用程序的開發中,對JavaScript的使用,以TypeScript做爲切入點,將大大提升咱們開發的效率。TypeScript不只可以幫助咱們在具有充分掌控能力且遵循可重複使用方針的前提下完成編碼工做,同時也可以擁有一條通往ECMAScript 6的理想路徑。相信從此web前端開發,甚至整個web端全部網站的開發,都將逐步使用到TypeScript,以提升JavaScript的編程效果。

 

推薦學習:jQuery實戰視頻教程

相關文章
相關標籤/搜索