TypeScript和JavaScript的區別


JavaScript和TypeScript的對比

注:參考https://juejin.im/entry/5a52ed336fb9a01cbd586f9f做的筆記

概要介紹

JavaScript

JavaScript是一種基於客戶端瀏覽器的,基於對象、事件驅動式的腳本語言。稍提一下,JavaScript和Java沒有任何關系,兩者相當於雷峰塔和雷鋒的關系。

  1. JavaScript是一種腳本編寫語言,無需編譯,只要嵌入HTML代碼中,就能在瀏覽器中加載執行。
  2. JavaScript是一種基於對象的語言,可以創建對象同時使用現有對象。但是JavaScript並不支持面向對象語言所承載的繼承和重載功能。
  3. JavaScript使用的變量是弱類型。
  4. JavaScript語言較為安全,僅在瀏覽器端執行,不會訪問本地硬盤數據。
  5. JavaScript語言具有動態性。JavaScript是事件驅動的,只根據用戶的操作做出相應的反應處理。
  6. JavaScript只依賴於瀏覽器,與操作系統的因素無關。因此JavaScript是一種跨平台的語言。
  7. JavaScript兼容性極好,能夠與其他技術(如XML、REST API等)一起使用

TypeScript

TypeScript是JavaScript類型的超類,它可以編譯成純JavaScript。TypeScript可以在任何瀏覽器、任何計算機和任何操作系統上運行,並且是開源的。

  1. TypeScript是Microsoft推出的開源語言,使用Apache授權協議
  2. TypeScript增加了靜態類型、類、模塊、接口和類型注解
  3. TypeScript可用於開發大型的應用
  4. TypeScript易學易於理解

JavaScript和TypeScript的主要差異

TypeScript可以使用JavaScript中的所有代碼和編程概念,TypeScript是為了使JavaScript的開發變得更加容易而創建的。

  1. TypeScript從核心語言方面和類概念方面的模塑方面對JavaScript對象模型進行擴展。
  2. JavaScript代碼可以在無需任何修改的情況下與TypeScript一同工作,同時可以使用編譯器將TypeScript代碼轉換為JavaScript。
  3. TypeScript通過類型注解提供編譯時的靜態類型檢查。
  4. TypeScript中的數據要求帶有明確的類型,JavaScript不要求。
  5. TypeScript提供了缺省參數值。
  6. TypeScript引入了JavaScript中沒有的“類”概念。
  7. TypeScript中引入模塊的概念,可以把聲明、數據、函數和類封裝在模塊中。

TypeScript的優勢

  1. 靜態類型化,允許開發人員編寫更健壯的代碼並對其進行維護。
  2. 大型的開發項目,使用TypeScript工具來進行重構更容易、便捷。
  3. 類型安全,在編碼期間檢測錯誤的功能,而不是在編譯項目時檢測錯誤。
  4. 干凈的ECMAScript6代碼,自動完成和動態輸入等因素有助於提高開發人員的工作效率。

JavaScript的優勢

  1. JavaScript的開發者社區仍然巨大而活躍,在社區可以很容易找到大量成熟的開發項目和可用資源。
  2. JavaScript語言發展較早,也較為成熟。
  3. TypeScript代碼需要被編譯(成JavaScript)
  4. 不需要注釋
  5. JavaScript的靈活性更高

靈活選擇

在開發大型開發項目時,使用TypeScript更加合適。如果有一個相對較小的編碼項目,似乎沒有必要使用TypeScript,只需使用JavaScript。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM