在回答這個問題之前,我們首先要搞清楚,typescript是什麼?它有什麼好處,能給我們帶來什麼收益?
它是由微軟公司開發的一套指令碼語言,作者認為它是普通javaScript的SuperSet。它並不能直接執行在瀏覽器或者伺服器上,所以呢,在執行之前需要經過編譯時的處理。官網說編譯後可以執行在任何平臺、任何伺服器、任何系統上。它也是開源的,大家可以到某著名程式碼託管平臺檢視原始碼,但是個人理解這個開源最終解釋權還是微軟公司來定。
我相信每一個學習ts的同學對它的第一印象絕對是它能做型別檢查,比如對一些變數,函式的引數以及返回值等等做型別檢查,這些檢查都是在編譯時做的,當你在使用編譯器轉換成js的過程中就可以檢查出來很多錯誤,這樣可以減少出現bug的機率,提高我們程式碼的質量。ts作者已經為我們提供了很好用的cli,我們可以根據自己的需要定義tsconfig。
普通的js編譯通常會有以下幾個步驟:
掃描分析->AST->轉換->目的碼
ts在這個中間加入一步程式碼型別檢查:
掃描分析->AST->型別檢查->轉換->目的碼
在你開發ts的時候,cli可以實時提示程式碼問題
注:ts不僅僅可以轉化成js,也可以轉換成其他語言
首先,個人理解型別檢查是它最大的特點,也可以說是它最大的優點,所有的配套設施都是圍繞著它來做的。
其次,ts提供了諸如介面、抽象、泛型、private、protected、public等在其他語言諸如java,c常見的方式,這些東西都是原生js不具有的,所以開發思想需要有所轉變。
第三點,ts提供了最新的js語法支援
第四點,angular2就是用ts開發,如果你的團隊選擇它作為技術棧,那麼ts就是你的基礎,學會了ts就很自然的可以開發angular
ts語言本身大概幾個月釋出一個新版本,目前90%的知名的開源庫都提供型別定義檔案,自己也能很方便的釋出ts開原始碼。目前bat等一線網際網路公司也都或多或少的在使用typescript,整體活躍度還是不錯的,所以前景還是明朗的。
個人理解,ts更適合通用性很強的程式碼,不適合迭代速度很快的業務程式碼。另外對人員素質要求也變的更高,選型應該量力而行。
在回答這個問題之前,我們首先要搞清楚,typescript是什麼?它有什麼好處,能給我們帶來什麼收益?
什麼是typescript?它是由微軟公司開發的一套指令碼語言,作者認為它是普通javaScript的SuperSet。它並不能直接執行在瀏覽器或者伺服器上,所以呢,在執行之前需要經過編譯時的處理。官網說編譯後可以執行在任何平臺、任何伺服器、任何系統上。它也是開源的,大家可以到某著名程式碼託管平臺檢視原始碼,但是個人理解這個開源最終解釋權還是微軟公司來定。
typescript的編譯我相信每一個學習ts的同學對它的第一印象絕對是它能做型別檢查,比如對一些變數,函式的引數以及返回值等等做型別檢查,這些檢查都是在編譯時做的,當你在使用編譯器轉換成js的過程中就可以檢查出來很多錯誤,這樣可以減少出現bug的機率,提高我們程式碼的質量。ts作者已經為我們提供了很好用的cli,我們可以根據自己的需要定義tsconfig。
普通的js編譯通常會有以下幾個步驟:
掃描分析->AST->轉換->目的碼
ts在這個中間加入一步程式碼型別檢查:
掃描分析->AST->型別檢查->轉換->目的碼
在你開發ts的時候,cli可以實時提示程式碼問題
注:ts不僅僅可以轉化成js,也可以轉換成其他語言
typescript的優點首先,個人理解型別檢查是它最大的特點,也可以說是它最大的優點,所有的配套設施都是圍繞著它來做的。
其次,ts提供了諸如介面、抽象、泛型、private、protected、public等在其他語言諸如java,c常見的方式,這些東西都是原生js不具有的,所以開發思想需要有所轉變。
第三點,ts提供了最新的js語法支援
第四點,angular2就是用ts開發,如果你的團隊選擇它作為技術棧,那麼ts就是你的基礎,學會了ts就很自然的可以開發angular
typescript的活躍度ts語言本身大概幾個月釋出一個新版本,目前90%的知名的開源庫都提供型別定義檔案,自己也能很方便的釋出ts開原始碼。目前bat等一線網際網路公司也都或多或少的在使用typescript,整體活躍度還是不錯的,所以前景還是明朗的。
個人理解,ts更適合通用性很強的程式碼,不適合迭代速度很快的業務程式碼。另外對人員素質要求也變的更高,選型應該量力而行。