一文分清強弱、動態靜態類型語言

上文提到前端爲什麼需學習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引擎),而語言的靈活性更重要

  隱藏的錯誤能夠經過單元測試發現

  文檔能夠經過工具生成

 

相關文章
相關標籤/搜索