你是否聽過 TypeScript?
TypeScript 是 JavaScript 的超集,TypeScript結合了類型檢查和靜態分析,顯式接口。TypeScript是微軟的開源項目,它是由C#之父Anders Hejlsberg發起的。
為什么會有 TypeScript?
JavaScript 只是一個腳本語言,並非真正設計用於開發大型 Web 應用,JavaScript 沒有提供類和模塊等概念,對於一個真正的應用開發,TypeScript 擴展JavaScript 並實現了這些特性。TypeScript 主要特點包括:
- TypeScript 是微軟推出的開源語言,使用 Apache 授權協議
- TypeScript 是 JavaScript 的超集.
- TypeScript 增加了可選類型、類和模塊
- TypeScript 可以編譯成可讀的、標准的 JavaScript
- TypeScript 支持開發大規模 JavaScript 應用,支持所有瀏覽器,主機和操作系統
- TypeScript 設計用於開發大型應用,並保證編譯后的 JavaScript 代碼兼容性
- TypeScript 擴展了 JavaScript 的語法,因此已有的 JavaScript 代碼可直接與 TypeScript 一起運行無需更改
- TypeScript 文件擴展名是 ts,而 TypeScript 編譯器會編譯成 js 文件
- TypeScript 語法與 JScript .NET 相同
- TypeScript 非常易學和易於理解
語言特性
- 類
- 接口
- 模塊
- 類型注解
- 編譯時類型檢查
- Arrow 函數 (類似 C# 的 Lambda 表達式)
JavaScript 與 TypeScript 的區別
支持的編輯器
現如今,Visual Studio 2012 支持 TypeScript 模塊/語法高亮,但需要安裝 TypeScript 插件。而類似 Sublime Text, Vim and Emacs 編輯器支持語法高亮。
在 VS 2012 編輯器中,還提供了重構(Refactor)和 轉到定義(Go To Definition)等功能。
Note: TypeScipt不依賴任何 IDE,你可以在任何應用中將 TypeScript 編譯成 JavaScript。
如何獲取
你可以通過以下兩個方法來安裝 TypeScript:
- 通過 Node.js 包管理器 (npm)
- 通過與 Visual Studio 2012 集成的 MSI. (Click here to download)
Note: 請關閉其他應用程序來避免安裝時的一些問題。
下面是通過 MSI 文件安裝時的界面:
如果你只是想先看看 TypeScript 而已,可 click here.
如何編譯 TypeScript
要在應用中使用 TypeScript 必須先編譯,編譯的結果是生成 js 文件,你可通過 TypeScript 編譯器 tsc 來完成這個過程。
如果你在 Visual Studio 2012 中使用 TypeScript,它會自動將 ts 文件編譯成 js 文件。
TypeScript 編譯器模板被安裝在如下路徑:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.0.0
或
C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0
要編譯 TypeScript 文件,可使用如下命令:
tsc filename.ts
一旦編譯成功,就會在相同目錄下生成一個同名 js 文件,你也可以通過命令參數來修改默認的輸出名稱。
如果你希望 TypeScript 被自動編譯,你可以了解下 Sholo.TypeScript.Build , Web Essentials 2012.
TypeScript 項目/文件 模板
如果你在 Visual Studio 2012 上安裝了插件,你會看到如下模板:
MVC – TypeScript Internet Application
TypeScript File
我的第一個用 TypeScript 編寫的 HTML 應用
現在我開始用 TypeScript 創建一個簡單的 HTML 應用。
首先通過 File -> New-Project 新建項目:
點擊 Ok 按鈕,創建后項目模板如下:
我們將看到 app.js 依賴於 app.ts,默認的 app.ts 文件包含類和構造函數等等,如下圖:
TypeScript 文件將會被編譯為 JavaScript (app.js),下面是編譯后的 JavaScript 代碼:
然后我們可以在頁面中引用 JavaScript
當你構建或者重新構建項目時,你將看到提示是否重新編譯 TypeScript 的信息:
如果在 .??proj 文件中有如下內容將會被自動編譯:
當你運行此應用時會在頁面上顯示當前的日期和時間
你也可以在線Try一下:Playground
更多閱讀資料
- TypeScript 微軟官方網站 http://www.typescriptlang.org/
- TypeScript 在線玩- http://www.typescriptlang.org/Playground/
- TypeScript 源碼 typescript.codeplex.com
- Anders Hejlsberg: Introducing TypeScript
總結
這篇文章中我們簡單的介紹了如何使用 TypeScript,希望你能喜歡或者覺得對你有幫助。