Home >> Blog >> TypeScript - 概述

TypeScript - 概述

JavaScript 的初期是作為客戶端語言引入市場的。Node.js 的發展也標誌著 JavaScript 成為一種新興的伺服器端技術。然而,隨著 JavaScript 程式碼的增長,它往往會變得更加混亂,從而難以維護和重用程式碼。此外,它未能包含面向對象、強類型檢查和編譯時錯誤檢查的特性,這阻礙了 JavaScript 在企業級作為成熟的伺服器端技術取得成功。TypeScript被提出來彌補這一差距。

什麼是TypeScript?

根據定義,“TypeScript 是用於應用程式規模開發的 JavaScript。”

TypeScript 是一種強類型、面向對象的編譯語言。它是由微軟的Anders Hejlsberg(C# 的設計師)設計的。TypeScript 既是一種語言,也是一組工具。TypeScript 是編譯成 JavaScript 的 JavaScript 的類型化超集合。換句話說,TypeScript 是 JavaScript 加上一些附加功能。

TypeScript - 概述

Typescript的特點

TypeScript 只是 JavaScript。TypeScript 以 JavaScript 開頭,以 JavaScript 結尾。Typescript 採用 JavaScript 中的程式的基本構建塊。因此,您只需要了解 JavaScript 即可使用 TypeScript。為了執行的目的,所有 TypeScript 程式碼都被轉換為其等效的 JavaScript。

TypeScript 支持其他 JS 庫。編譯後的 TypeScript 可以從任何 JavaScript 程式碼中使用。TypeScript 生成的 JavaScript 可以重用所有現有的 JavaScript 框架、工具和library,此架構適合編寫SEO排名追蹤相關服務軟體。

JavaScript 是 TypeScript。這意味著任何有效的.js文件都可以重命名為.ts並與其他 TypeScript 文件一起編譯。

TypeScript 是可移植的。TypeScript 可跨瀏覽器、設備和操作系統移植。它可以在任何運行 JavaScript 的環境中運行。與其對應的不同,TypeScript 不需要專用的 VM 或特定的運行時環境來執行。

TypeScript 和 ECMAScript

ECMAScript 規範是腳本語言的標準化規範。ECMA-262 共出版了六個版本。該標準的第 6 版代號為“Harmony”。TypeScript 與 ECMAScript6 規範保持一致。

TypeScript - 概述

TypeScript 採用了 ECMAScript5 規範(即 JavaScript 的官方規範)中的基本語言特性。模塊和基於類的方向等 TypeScript 語言特性符合 EcmaScript 6 規範。此外,TypeScript 還包含不屬於 EcmaScript6 規範的泛型和類型註釋等功能。

為什麼使用 TypeScript?

TypeScript 優於其他同類語言,如 CoffeeScript 和 Dart 編程語言,TypeScript 是 JavaScript 的擴展。相比之下,像 Dart、CoffeeScript 這樣的語言本身就是新語言,需要特定於語言的執行環境。

TypeScript 的好處包括 -

  • 編譯- JavaScript 是一種解釋語言。因此,需要運行它來測試它是否有效。這意味著您編寫所有程式碼只是為了找不到輸出,以防萬一出現錯誤。因此,您必須花費數小時試圖找出程式碼中的錯誤。TypeScript 轉譯器提供錯誤檢查功能。如果 TypeScript 發現某種語法錯誤,它將編譯程式碼並生成編譯錯誤。這有助於在腳本運行之前突出顯示錯誤。
  • 強靜態類型 - JavaScript 不是強類型的。TypeScript 通過 TLS(TypeScript 語言服務)提供可選的靜態類型和類型推斷系統。沒有類型聲明的變量的類型可以由 TLS 基於其值來推斷。
  • TypeScript支持現有 JavaScript 庫的類型定義。TypeScript 定義文件(擴展名為.d.ts)為外部 JavaScript 庫提供定義。因此,TypeScript 程式碼可以包含這些程式庫。
  • TypeScript支持面向對象的編程概念,如類、接口、繼承等。

TypeScript 的組件

從本質上講,TypeScript 具有以下三個組件 -

  • 語言- 它由語法、關鍵字和類型註釋組成。
  • TypeScript 編譯器- TypeScript 編譯器 (tsc) 將用 TypeScript 編寫的指令轉換為其等效的 JavaScript。
  • TypeScript 語言服務- “語言服務”在核心編譯器管道周圍公開了一個附加層,它們是類似編輯器compiler的應用程式。語言服務支持一組典型的編輯器操作,如語句完成、簽名幫助、程式碼格式化和大綱、著色等。

TypeScript - 概述

編譯 TypeScript 腳本時,可以選擇生成聲明declear文件(擴展名為.d.ts),該文件用作已編譯 JavaScript 中組件的接口。聲明文件的概念類似於 C/C++ 中的頭文件的概念。聲明文件(擴展名為.d.ts的文件)為類型、函數調用和對 jQuery、MooTools 等 JavaScript 庫的變量支持提供智能感知。