![]()
作者 | Bruno Couriol
譯者 | 平川
最近,TypeScript 團隊 發布 了 TypeScript 6 的 Beta 版本。該版本是一個關鍵的過渡版本,而非全面的功能升級。它專注于消除技術債務和實現標準化,并為迎接 TypeScript 7 生態 做準備。TypeScript 7 將用 Go 語言重寫 TypeScript 的代碼,解決隨著時間推移越來越嚴重的核心性能問題。
為了與不斷發展的 JavaScript 規范保持一致,TypeScript 6 在默認設置和過時編譯目標棄用方面進行了幾項改進。
嚴格模式現在默認啟用。模塊解析默認為 ES 模塊(esnext)。新的默認 target 與當前的 ECMAScript 標準(目前是 es2025)保持一致,這反映了絕大多數開發者的選擇——他們極少需要向下轉譯至舊版本。同樣地,未檢查副作用的導入默認會被捕獲(noUncheckedSideEffectImports 設置)。如果新默認值會破壞項目,那么開發者仍然可以在 tsconfig.json 文件中顯式設置默認值。
TypeScript 6 進一步與 Web 標準對齊。它實現了 Node.js 模塊規范中的子路徑導入,減少了對自定義路徑解析變通方案的依賴。新增對 RegExp Escaping ECMAScript 提案 的支持(已進入第 4 階段,已正式成為語言規范的一部分),并通過完善的 Iterable 支持增強了 DOM 類型系統。
TypeScript 6 還棄用了 ES5 目標、AMD 和 UMD 等模塊系統、baseUrl 配置和 out-file 打包功能。移除這些特性使實現更簡潔,同時也反映出這樣的事實:ES5 目標已經很少使用,CommonJS 正被 ESM 打包器取代,而現代 JavaScript 環境大多采用持續更新模式。
TypeScript 團隊所做的標準化工作及其合理的默認設置為當前正在積極開發當中的 TypeScript 7 鋪平了道路。TypeScript 7 用 Go 語言重寫了 TypeScript 的編譯器,目的是解決性能問題——隨著 TypeScript 被廣泛應用于大型全棧應用(從 Node.js 服務器端邏輯到桌面應用程序,如通過 Electron 實現,再到涵蓋數據庫到客戶端的類型安全系統),這些性能問題已成為開發者面臨的一個很大的痛點。在大型代碼庫中,TypeScript 編譯常被視為開發流程的主要瓶頸,等待時間甚至長達數分鐘。
發布說明建議開發者遷移到 TypeScript 6,從而為切換到 TypeScript 7 做好準備:
TypeScript 6.0被設計為一個過渡版本。當設置了"ignoreDeprecations": "6.0"時,TypeScript 6.0中棄用的選項將可以正常工作而不報錯,但它們將在TypeScript 7.0(原生TypeScript版本)中被完全移除。如果你在升級到TypeScript 6.0后看到棄用警告,那么我們強烈建議你嘗試在項目中采用TypeScript 7(或其 原生預覽版)之前解決它們。
[……] 我們還在繼續開發TypeScript 7.0,并發布 原生預覽版 的夜間構建以及一個VS Code擴展。我們非常歡迎您提供關于6.0和7.0的反饋,如果可以的話,我們希望您把兩個版本都試一下。
TypeScript 是遵循 Apache 2 許可的開源軟件。歡迎通過 TypeScript GitHub 項目 進行貢獻和反饋,并應 遵循 TypeScript 貢獻指南 和 微軟開源代碼行為準則。
https://www.infoq.com/news/2026/02/typescript-6-released-beta/
聲明:本文由 InfoQ 翻譯,未經許可禁止轉載。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.