【Javascript 】什麼是typescript


Tyescript是什麼?

Typescript是由C#之父 Anders Hejlsberg,參與開發的語言,簡單的說可以把它想成一個strong typejavascript程式語言。



Typescript整體使用和coffeeScript非常相似(因此有人說CoffeeScriptRuby Developer用而Typescript是給C#Developer用)。但是,TypescriptCoffeeScript的理念是相反的,它並不反對直接寫javascript

Typescript其實只是Javascriptsuper set,讓Javascript變成一個strong type的語言。因此,如果你在typescript裡面全部不用typescript語法,而都用javascript來寫,是完全可以的。

Typescript撰寫使用流程

1.          建立一個*.ts的檔案,開始寫typescript
2.          完成之後透過一個typescript compiler變成javascriptjs
3.          在需要的地方reference那個compile出來的js就好了。

Typescript的優勢

1.          javascript帶來strong type - strong type的好處不止能夠讓我們有辦法在compile time 發現問題,同時讓我們在撰寫的時候更加方便,因為IDE才會有足夠的資訊幫助我們,例如intellisense,或者做refactoring的時候。
2.          提前嘗鮮一些Ecma 6的實作 - 目前還在確定中的ECMA 6 javascript的下一個版本)裡面有提到一些例如Module的概念。雖然Ecma 6還沒有定案,但是Typescript 已經實作了目前ECMA的草案,因此透過寫Typescript能夠先瞭解Javascript新版本的動向。
3.          Typescript是一個開源的專案 - 開源意味著開發速度比較快(有其他communitysupport),同時表示不是只能夠用Visual Studio開發。目前已經有Eclipse Typescript插件,同時如果有在寫nodejs,可以透過npm快速取得Typescript compiler,因此開發環境是看你想用什麼就用什麼。
下面是從Typescript 1.0發佈的blog取來的兩張截圖,一個是VS TypescriptIntellisense,另外一個是EclipseContent Assist




4.          使用Typescript不只是讓我們在寫javascript的時候有strong type的概念,同時對寫插件來說也非常方便。Typescript裡面有module的概念(可以想像成C#裡面 的namespace),在Typescript可以寫泛型(Generic)(相信寫過C#就知道泛型對於開發component有多重要)等。
5.          Debug帶來便利 - 我們可以在VS直接Debug Typescript(個人覺得比在瀏覽器debug javascript方便),同時透過source map,也可以在瀏覽器裡面debug

Typescript的劣勢

1.          因為Typescript需要compile,因此通常都是寫在一個*.ts檔案。因此如果想在html裡面寫typescript不是那麼容易(注意,這邊說不是那麼容易,但是還是可以,因為有 能夠讓typescriptruntime裡面compile的方法)
2.          雖然Typescript語法簡單(基本上和javascript沒兩樣,只是多了需要declare型別而已),但是畢竟還是要學,因此有些effort要花。
From: https://shorturl.at/cmKQW  
typescript官網: http://www.typescriptlang.org/ 



為了讓 JavaScript 可以寫大型應用程式商業邏輯所設計,讓 JavaScript 不再只是控制 DOM 而已,而是真的可以寫複雜商業邏輯。


TypeScript 既然稱為 TypeScript,重點就是將 JavaScript 加上 type
  • 更多型別 (more types) 與強型別檢查
  • 多型 (interface)
  • 泛型 (generic)
ts001
一旦有了型別,則很多圍繞在型別的技術都可在 TypeScript 使用。