基于Go重写的TypeScript 7可以用了

大家好,我是农村程序员,独立开发者,行业观察员,VSCode 扩展批发商,前端之虎陈随易。

技术群与交朋友请在个人网站 👆 联系我,如果你觉得本文有用,一键三连 (点赞评论转发),就是对我最大的支持~


今天 TypeScript 官方团队发了一篇帖子和文章,表示用 Go 语言重写的 TypeScript v7 已经可以尝鲜了。

我以前是从来不用 TypeScript 的,自从用了 AI 编程后,TypeScript 也必须安排上了,一定程度来说,可以提高 AI 编程的质量。

不客气地说,我现在的代码,90%以上都是 AI 写的,我已经几个月没有自己写过代码了,所以,拥抱 AI 吧,不要落后了。

言归正传,让我们来聊聊 TypeScript 的前世今生,以及这次重写带来的巨大变化。

TypeScript 简史

TypeScript 诞生于 2012 年,由微软开发,核心目标是为 JavaScript 添加静态类型检查。

TypeScript 最初是用 JavaScript 实现的,后来用 TypeScript 完成了"自举"(用自己实现自己),但最终仍需编译成 JavaScript 运行。

这种架构在早期足够用,但随着项目规模越来越大,问题也逐渐暴露:

  • 编译速度慢:大型项目的类型检查动辄几十秒
  • 内存占用高:Node.js 单线程运行,无法充分利用多核 CPU
  • 编辑器卡顿:代码补全、跳转定义时常让人等得心焦

为什么要用 Go 重写?

今年早些时候,TypeScript 团队宣布了代号为 "Project Corsa" 的原生移植计划。

选择 Go 语言重写的原因很直接:

  1. 原生性能:Go 编译为机器码,比 JavaScript 快一个数量级
  2. 内存效率:更低的内存占用
  3. 并行能力:Go 天生支持共享内存的并行处理

结果也确实令人振奋 ------ TypeScript 7 的编译速度通常能达到 6.0 版本的 10 倍

现在能用了吗?

答案是:可以!

编辑器体验

TypeScript 官方已经发布了 VS Code 原生预览扩展,每天更新,支持的功能已经相当完整:

  • ✅ 代码补全(包括自动导入)
  • ✅ 跳转到定义 / 类型定义 / 实现
  • ✅ 查找所有引用
  • ✅ 重命名
  • ✅ 悬浮提示
  • ✅ 签名帮助
  • ✅ 代码格式化
  • ✅ 快速修复缺失导入

安装方式:在 VS Code 扩展市场搜索 "TypeScript Native Preview" 或访问 VS Code Marketplace

命令行编译器

新编译器以 @typescript/native-preview 包发布,提供 tsgo 命令:

bash 复制代码
# 安装
npm install -D @typescript/native-preview

# 使用(与 tsc 类似)
tsgo -b tsconfig.json

类型检查的准确性已经非常高 ------ 在约 20000 个测试用例中,TypeScript 7 与 6.0 的表现几乎完全一致。

--incremental、项目引用、--build 模式也都已支持,大部分项目可以直接切换使用。

重要变化提醒

TypeScript 7 会移除一些在 6.0 中计划废弃的功能:

变化 说明
--strict 默认开启 不再需要手动配置
--target 默认最新 ES es2025
移除 --target es5 最低支持 es2015
移除 --baseUrl 需要迁移路径配置
移除 --moduleResolution node10 改用 bundlernodenext

官方提供了迁移工具帮助更新配置:

bash 复制代码
npx @andrewbranch/ts5to6 --fixBaseUrl tsconfig.json
npx @andrewbranch/ts5to6 --fixRootDir tsconfig.json

当前限制

尽管进展神速,仍有一些功能暂未完成:

  • JavaScript 代码降级编译目前只支持到 es2021
  • --watch 模式效率可能不如旧版
  • 旧版 TypeScript API 不兼容(影响部分构建工具和 Lint 工具)

对于这些场景,可以将 typescript@typescript/native-preview 同时安装,各取所需。

TypeScript 6.0:最后的 JavaScript 版本

官方明确表示:TypeScript 6.0 将是最后一个基于 JavaScript 的版本

6.0 可以看作是 5.x 到 7.0 的"过渡版本",主要任务是废弃那些 7.0 将移除的功能。6.0 之后不会有 6.1,只有必要的补丁版本。

这意味着,TypeScript 的未来全押在 Go 重写的 7.0 上了。

总结

TypeScript 用 Go 重写,是近年来前端工具链演进的一个缩影:

  • Babel → SWC(Rust)
  • Webpack → Rspack / Farm(Rust)
  • ESLint → Oxlint(Rust)
  • TypeScript → TypeScript 7(Go)

用高性能语言重写 JavaScript 工具已成趋势。虽然语言变了,但目标没变:让开发体验更快、更顺滑

相关推荐
昨晚我输给了一辆AE8615 小时前
为什么现在不推荐使用 React.FC 了?
前端·react.js·typescript
Wect1 天前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
Dilettante2581 天前
这一招让 Node 后端服务启动速度提升 75%!
typescript·node.js
jonjia2 天前
模块、脚本与声明文件
typescript
jonjia2 天前
配置 TypeScript
typescript
jonjia2 天前
TypeScript 工具函数开发
typescript
jonjia2 天前
注解与断言
typescript
jonjia2 天前
IDE 超能力
typescript
jonjia2 天前
对象类型
typescript
jonjia2 天前
快速搭建 TypeScript 开发环境
typescript