TypeScript前景怎么樣?
謝謝邀請!
在回答這個問題之前,我們首先要搞清楚,typescript是什么?它有什么好處,能給我們帶來什么收益?
什么是typescript?它是由微軟公司開發(fā)的一套腳本語言,作者認為它是普通javaScript的SuperSet。它并不能直接運行在瀏覽器或者服務(wù)器上,所以呢,在運行之前需要經(jīng)過編譯時的處理。官網(wǎng)說編譯后可以運行在任何平臺、任何服務(wù)器、任何系統(tǒng)上。它也是開源的,大家可以到某著名代碼托管平臺查看源碼,但是個人理解這個開源最終解釋權(quán)還是微軟公司來定。
typescript的編譯我相信每一個學(xué)習(xí)ts的同學(xué)對它的第一印象絕對是它能做類型檢查,比如對一些變量,函數(shù)的參數(shù)以及返回值等等做類型檢查,這些檢查都是在編譯時做的,當(dāng)你在使用編譯器轉(zhuǎn)換成js的過程中就可以檢查出來很多錯誤,這樣可以減少出現(xiàn)bug的幾率,提高我們代碼的質(zhì)量。ts作者已經(jīng)為我們提供了很好用的cli,我們可以根據(jù)自己的需要定義tsconfig。
普通的js編譯通常會有以下幾個步驟:
掃描分析->AST->轉(zhuǎn)換->目標(biāo)代碼
ts在這個中間加入一步代碼類型檢查:
掃描分析->AST->類型檢查->轉(zhuǎn)換->目標(biāo)代碼
在你開發(fā)ts的時候,cli可以實時提示代碼問題
注:ts不僅僅可以轉(zhuǎn)化成js,也可以轉(zhuǎn)換成其他語言
typescript的優(yōu)點首先,個人理解類型檢查是它最大的特點,也可以說是它最大的優(yōu)點,所有的配套設(shè)施都是圍繞著它來做的。
其次,ts提供了諸如接口、抽象、泛型、private、protected、public等在其他語言諸如java,c常見的方式,這些東西都是原生js不具有的,所以開發(fā)思想需要有所轉(zhuǎn)變。
第三點,ts提供了最新的js語法支持
第四點,angular2就是用ts開發(fā),如果你的團隊選擇它作為技術(shù)棧,那么ts就是你的基礎(chǔ),學(xué)會了ts就很自然的可以開發(fā)angular
typescript的活躍度ts語言本身大概幾個月發(fā)布一個新版本,目前90%的知名的開源庫都提供類型定義文件,自己也能很方便的發(fā)布ts開源代碼。目前bat等一線互聯(lián)網(wǎng)公司也都或多或少的在使用typescript,整體活躍度還是不錯的,所以前景還是明朗的。
個人理解,ts更適合通用性很強的代碼,不適合迭代速度很快的業(yè)務(wù)代碼。另外對人員素質(zhì)要求也變的更高,選型應(yīng)該量力而行。
喜歡我的回答就關(guān)注我吧,有問題可以發(fā)表評論,我們一起學(xué)習(xí),共同成長!