1. 程式人生 > >一步一步學習ASP.NET 5 (五)- TypeScript

一步一步學習ASP.NET 5 (五)- TypeScript

       編者語 : 人總會多次犯錯,歷史上告誡大家不要在演講前更新最新版本的軟體,但週末我又一次錯了......好吧下次我堅決錄屏。本來約好週日和大家見,但深圳回來後又是各種的會議耽擱到現在真的不好意思。大家想我了嗎?上週發了4篇,貌似效果都不錯,謝謝徐總和善友的微信推廣。感恩,感謝有這群好兄弟的支援!今天和大家聊聊TypeScript 。有人覺得這個話題與ASP.NET 5 無關但是個人覺得關係比較密切,畢竟你要做前端 。

        

什麼是TypeScript ?

        TypeScript 是JavaScript 的超集,它給JavaScript帶來了面向物件,也帶來了靜態型別。在你的專案中不需要修改任何現有JavaScript程式碼就可以注入TypeScript程式碼。通過TypeScript你可以規範JavaScript程式碼方式並以面向物件的方式構建你的前端。TypeScript已經支援現在流行的JavaScript庫,讓你更容易去和現有專案結合,如Jquery/AngularJS/KnockoutJS/NodeJS等。

(進入官方網站)

TypeScript環境配置

 1.安裝

        npm install -g typescript

        2.開發環境

        個人建議還是在Sublime Text ,通過Control Package 安裝Better TypeScript .

TypeScript的幾個主要特點

         1. 靜態型別

          TypeScript通過靜態型別規範了JavaScript變數的宣告,並在編譯時提供型別檢查。如下圖

          

        這裡定義了一個類,並在類中定義了一個getJSON的方法,這裡結合靜態型別對方法所傳送的引數進行型別定義, 並返回void。如果你用傳統的JavaScript寫,雖然弱型別的方式比較方便,但是對於傳參的型別不明確。通過TypeScript你就可以像C/C++那樣編寫你的前端程式碼。這裡說明一點,當你對於物件的型別不太明確時你可以用any(動態型別)取代。

2. 面向物件

        TypeScript為JavaScript帶來了interface/class/module等面向物件的特性。這個好處除了規範程式碼,也可以規範前端專案結構。以往我們的JS專案用傳統的MVC/MVVM入手總因為JavaScript太過靈活,導致架構無從入手。通過TypeScript你可以利用面向物件去整合你的前端程式碼。

          

3.ts編譯器

通過tsc 可以將TypeScript的ts檔案編譯為通用的JavaScript檔案。當然你可以選擇預編譯的方式,也可以選擇實時編譯的方式。還是那句鹹魚白菜各有所愛,就看自身需求。而我在專案中我喜歡用預編譯。

        現在TypeScript都和主流的庫都有匹配對應,你可以從nuget/上面的連結中獲取。本人架構前端基本上基於AngularJS/KnockoutJS, 基本上沒有大問題。更可喜的是AngularJS 2.0 和TypeScript進行了更加深入的整合(Google+Microsoft偷笑

)。

        基於TypeScript的前端,讓你寫程式碼更Cool,更不會再讓你為一些奇怪的語法而迷惑。我喜歡TypeScript,你呢?