上文提到前端爲什麼需學習TypeScript,那麼TypeScript屬於什麼類型語言呢?
看完本文你便能摸索出來前端
強類型語言:當一個對象從調用函數傳遞到被調用函數時,其類型必須與被調用函數中聲明的類型兼容函數
A(){ B(x) } B(y){ //y能夠被賦值x,程序運行良好 }
強類型語言:不容許改變變量的數據類型,除非進行強制類型轉換工具
class C{ public static void main(String[] args){ int x = 1; bollean y = true; x = y //boolean cannot be converted to int } }
弱類型語言:變量能夠被賦予不一樣的數據類型性能
let x = 1; let y = true; x = y //true
靜動態類型語言
靜態類型語言:在編譯階段肯定全部變量的類型單元測試
動態類型語言:在執行階段肯定全部變量的類型學習
靜態類型語言 | 動態類型語言 |
對類型極度嚴格 | 對類型很是寬鬆 |
當即發現錯誤 | Bug可能隱藏數月甚至數年 |
運行時性能好 | 運行時性能差 |
自文檔化 | 可讀性差 |
動態類型語言的支持者認爲:測試
性能是能夠改善的(V8引擎),而語言的靈活性更重要spa
隱藏的錯誤能夠經過單元測試發現code
文檔能夠經過工具生成對象
能夠改善的(V8引擎),而語言的靈活性更重要
隱藏的錯誤能夠經過單元測試發現
文檔能夠經過工具生成