類型系統在前端開發中的重要性

    JavaScript 因爲其設計之倉促,故而有不少缺陷,但因爲一系列歷史的緣由,成爲了目前運用最廣泛的前端開發語言。一直以來,開發者們與這些缺陷進行着不懈的鬥爭,發表了一系列編碼規範、開發工具(如ESLint)、類型註釋工具(如 Facebook 的 Flow.js)。然而,規範不是人人遵照,工具不是人人使用,這些東西的約束力終究不夠。
    事實上,咱們不妨換一個思路,不直接使用 JavaScript,而使用別的、能夠編譯成 JavaScript 的編程語言,如 TypeScript、Dart。
    帶類型的前端編程語言無疑有更多的好處。
    1、改善代碼質量。類型的約束能夠大大提升代碼的質量,避免不少隱晦的錯誤。除了 1+2+'3' 與 '1'+2+3 這種低級問題外,比較致命的就是給函數傳遞參數。爲了傳遞正確類型的參數,要採用註釋、文檔說明等方法,若是一個項目的管理作得好也就罷了,一旦在這方面有疏忽,還要用肉眼去解析一下代碼。搞大型工程的使用,頭腦原本就高負荷運轉,頻繁作這種事極易忙中出錯,一個小錯誤淹沒在代碼的汪洋大海中,排查起來又要費一番功夫。
    2、提升開發效率。若是沒有類型,IDE 提供的智能感知基本只能靠猜。有了類型,IDE 能夠更好幫助開發者進行代碼分析、自動補全、智能感知,同時,來自傳統面向對象編程語言中的類、繼承、枚舉、泛型,使得開發者花費更少的排錯時間,而模塊爲構建大型應用提供了幫助,這些都讓開發效率有質的飛躍。
    3、下降重構難度。有諺雲:「動態類型一時爽,代碼重構火葬場。」這話雖有些誇張,但比較有經驗的開發者對此都有所體會。
    目前,比較受關注的有類型前端編程語言是 TypeScript。愈來愈多的前端項目開始用它開發,不少已有的前端項目有了對應的「.d.ts」定義文件,甚至 Angular 這樣的大工程,乾脆把 TypeScript 做爲官方推薦語言,因而可知,類型系統在前端領域,已經愈來愈被重視。
    在可預見的將來,JavaScript 極可能成爲前端的「彙編語言」,而開發者們使用更有生產力、更安全、「坑」更少的前端編程語言進行開發。前端

相關文章
相關標籤/搜索