2016-08-20 42 views
0

什麼是使用打字稿作爲一個類型語言的效用是否會被transpiled經典的JavaScript無論如何:使用TypeScript作爲輸入語言的效用是什麼?

所以這statment:

let decimal: number = 6; 

將是:

var decimal = 6; 
+3

如果將C++作爲高級語言編譯爲機器語言,那麼它有什麼用處? – 2016-08-20 09:35:21

回答

6

效用在編譯過程中:如果你定義了一個方法來接受一個數字,而在其他地方你有一個方法調用給它一個字符串,那麼在編譯過程中你會看到一個錯誤,指出這個錯誤,而沒有TypeScript的類型,你'必須等待並希望發現測試中的錯誤。

事實上,編譯器只是一個可以利用這些信息的工具。您的編輯器可以使用它來實現智能自動完成,重構支持等。

確實,強類型在運行時消失了,但那時類型信息已經完成了它的工作;這是一個開發時間幫助,而不是運行時功能。

+3

+更易於編寫工具:自動重構,代碼完成等 –

+0

的確,好點。編譯器只是一個使用這些信息的工具,不是嗎? –

1

因爲TypeScript允許在編譯時檢查類型,允許程序員很容易地編寫,讀取和調試程序,特別是如果它們來自強類型的面向對象編程語言(如Java)。

所以你可以獲得類型的利潤 - 當它作爲一個參數傳遞給函數時,檢查變量的類型,例如類,接口等等。

的確,最終,代碼將被轉譯爲普通的vanilla JavaScript。但是,對於每種高級編程語言來說也是如此,這不是在機器代碼中編寫程序的原因。