上文提到前端為何需學習typescript,那麼typescript屬於什麼型別語言呢?
看完本文你便能摸索出來
強弱型別語言
強型別語言:當乙個物件從呼叫函式傳遞到被呼叫函式時,其型別必須與被呼叫函式中宣告的型別相容
a()強型別語言:不允許改變變數的資料型別,除非進行強制型別轉換b(y)
class弱型別語言:變數可以被賦予不同的資料型別c}
let x = 1;靜動態型別語言let y = true
;x = y //
true
靜態型別語言:在編譯階段確定所有變數的型別
動態型別語言:在執行階段確定所有變數的型別
靜態型別語言
動態型別語言
對型別極度嚴格
對型別非常寬鬆
立即發現錯誤
bug可能隱藏數月甚至數年
執行時效能好
執行時效能差
自文件化
可讀性差
動態型別語言的支持者認為:
效能是可以改善的(v8引擎),而語言的靈活性更重要
隱藏的錯誤可以通過單元測試發現
文件可以通過工具生成
可以改善的(v8引擎),而語言的靈活性更重要
隱藏的錯誤可以通過單元測試發現
文件可以通過工具生成
強弱型別 靜態語言 動態語言 指令碼語言
強型別變數一旦宣告 型別不能改變 強型別不支援以下 弱型別支援 1 2 靜態語言 變數需要提前宣告 動態語言不需要 靜態語言 c int a 3 a 1 動態語言 python a 3a 1 動態語言 執行時可以改變結構 新的函式 物件 可以被引進,已有的函式可以被刪除或者結構上的變化。動態語言的型...
一文分清var let和const
相信大家在學習剛開始js的時候,接觸var是最多的,通過var來宣告變數,而在往後的學習可能又遇到了let和const,那麼這三個有什麼區別呢?console.log num 輸出 undefined var num 10 console.log num 輸出 10 這裡的 會報錯,cannot a...
動態型別語言與靜態型別語言
在程式執行期間才做型別檢查的語言。在編寫程式時,不需要給變數指定型別。在程式執行時,給變數賦第乙個值時確定變數的資料型別。動態語言型別優點 1.簡潔,且程式設計師可以專注於本質設計,大大提公升開發效率。動態語言的缺點 1.程式執行速度慢,因為型別檢查是在執行時做的。2.不執行就發現不了型別錯誤問題。...