
1.3 瀏覽器支援度和輔助工具
|
7
於 JavaScript 開發人員,透過實作人員和使用者的操作回饋,持續進行
調整。
Babel 和類似功能的編譯器能夠輸入一段程式碼,產生網頁平台
(HTML、CSS、或 JavaScript)可理解的輸出結果;通常稱這類的工具
為
轉譯器
(
transpiler
),它可歸類於編譯器的子類別中。當我們想要在
程式碼中使用一項提案,但它尚未廣泛地於 JavaScript 引擎中實作時,
Babel 和類似功能的編譯器可以將這段程式碼以新提案的方式,轉換為目
前 JavaScript 引擎可以支援的方式執行。
這樣的轉換可以在建置期間(build time)進行,如此使用者所取得的程
式碼,就可以在 JavaScript 執行期間被完整支援。這個機制可以改善執
行期間(runtime)的支援度,讓 JavaScript 開發人員能夠很快採用新的
語言特徵和語法。對技術文件的撰寫者和實作人員也受益良多,因為他
們就可以蒐集來自於使用者的回饋,有關於功能的可用性、期待性,甚
至臭蟲或特殊案例的意見。
轉譯器能夠輸入我們所撰寫的 ES6 原始碼,並輸出 ES5 的程式碼,使得
瀏覽器可以有一致性的理解。這是在目前階段運作 ES6 程式碼最可靠的
方法:於建置期間產出 ES5 程式碼,可被舊版和新版瀏覽器運作執行。
相同機制也可以套用至 ES7 和後續版本。在每年新語言版本的釋出,我
們也可以期待編譯器支援新的 ES2017 輸入、ES2018 輸入等等。相同
地,當瀏覽器的支援度更好時 ...