大家好!備受期待的 TypeScript 7 終於在前幾天正式釋出了,而它帶來的新功能真的相當驚人。
幾個月前我已經寫過一篇關於這個主題的文章,不過今天我還是想再談一次這件程式設計界的大事。
那麼,讓我們開始吧!
首先值得注意的是,TypeScript 7 的實作現在改用 Go 程式語言完成。正如 Microsoft 所說,他們盡量讓新功能的行為與舊程式碼保持接近,以將 Bug 降到最低。

簡單來說,這樣做是為了加快 TypeScript 程式碼編譯成機器可讀程式碼的速度。由於 VS Code 本身就是以 TypeScript 打造,因此它的速度也相應提升。現在編輯器操作幾乎是即時的(例如,在 VS Code 中尋找第一個錯誤,從約 17.5 秒縮短到不到 1.3 秒)。而且受益的不只是文字編輯器。
https://x.com/typescript/status/2074892178745327926
為了證明我的說法,讓我們看看效能基準測試:
基準測試 1:TypeScript 6 與 7 的編譯時間
| 程式碼庫 | TypeScript 6 | TypeScript 7 | 加速倍率 |
|---|---|---|---|
| vscode | 125.7s | 10.6s | 11.9x |
| sentry | 139.8s | 15.7s | 8.9x |
| bluesky | 24.3s | 2.8s | 8.7x |
| playwright | 12.8s | 1.47s | 8.7x |
| tldraw | 11.2s | 1.46s | 7.7x |
基準測試 2:TypeScript 6 與 7 的整體記憶體用量
| 程式碼庫 | TypeScript 6 | TypeScript 7 | 累計記憶體用量 |
|---|---|---|---|
| vscode | 5.2GB | 4.2GB | -18% |
| sentry | 4.9GB | 4.6GB | -6% |
| bluesky | 1.8GB | 1.3GB | -26% |
| playwright | 1.0GB | 0.9GB | -11% |
| tldraw | 0.6GB | 0.5GB | -15% |
基準測試 3:TypeScript 6 與 7 在 --checkers 8 下的效能
| 程式碼庫 | TypeScript 6 | TypeScript 7 (--checkers 8) | 加速倍率 |
|---|---|---|---|
| vscode | 125.7s | 7.51s | 16.7x |
| sentry | 139.8s | 12.08s | 11.6x |
| bluesky | 24.3s | 2.01s | 12.1x |
| playwright | 12.8s | 1.16s | 11x |
| tldraw | 11.2s | 1.06s | 10.6x |
這些都是官方的基準測試結果,而且真的非常驚人。我可以說,我以前那台老 MacBook 開啟 VS Code 都要等上好一段時間,但有了這些新功能之後,一切都會快上許多。
除了速度提升,以及把所有函式重寫成 Go 之外,現在還新增了以下優點:
透過實驗性的 --checkers 與 --builders,可並行進行解析、型別檢查與輸出,方便微調 Microsoft
這讓開發者可以完整控制效能與記憶體耗用之間的平衡。在 CI 執行環境或資源有限的情況下,可以降低平行處理程度,而不會失去功能。
新增 --singleThreaded,適用於除錯或資源受限的環境
這解決了一個相當重要的除錯問題,並確保在重現 Bug 時結果具有可預測性。
型別檢查 worker 可以單獨擴充,而不必同步擴充 builder worker
如果你不知道的話,型別檢查 worker 負責複雜的型別檢查邏輯,而 builder worker 則負責組裝 project references;它們的工作會受到專案相依圖的限制。
這表示現在可以更彈性地設定像 --checkers 6 和 --builders 4 這類參數,讓每個專案都能取得最佳的建置效能。
--watch 模式也有所變更,現在它使用將 Parcel 的檔案監看器移植到 Go 的版本來進行組裝,並且能消除在大型 node_modules 上昂貴的輪詢操作。
另外在 JavaScript 和設定檔方面也有一些小變更,不過整體來說並不是那麼重要。
我認為,即使只是把函式重寫成 Go,像 TypeScript 這樣的基礎功能加速,對開發流程也有非常大的影響。現在的網站包含了相當多的模組,並且執行在 Next.js、Remix、Nuxt 等現代框架上,還有許多其他框架。它們全都仍然依賴 TypeScript,所以很難想像第 7 版帶來的十倍加速,究竟能替我們節省多少時間。對開發者來說,VS Code,以及建立在它之上的 Cursor,都能讓網站開發變得更快。
你對這件事有什麼看法呢?歡迎分享,會很有意思!
❤️ 非常感謝你閱讀這篇文章!

原文出處:https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m