基于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 工具已成趋势。虽然语言变了,但目标没变:让开发体验更快、更顺滑

相关推荐
cici158741 小时前
MATLAB/Simulink单相光伏并网逆变器仿真
开发语言·matlab
Dev7z1 小时前
基于MATLAB小波分析的图像增强算法及其仿真实现
开发语言·matlab
代码游侠1 小时前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
编程修仙1 小时前
第七篇 java的注解以及使用反射实现自定义注解功能
xml·java·开发语言·spring
爱吃无爪鱼1 小时前
01-前端开发快速入门路线图
javascript·css·vue.js·typescript·前端框架·npm·node.js
GesLuck1 小时前
Beaglebone BB Black C版 AM3358(一)
c语言·开发语言·物联网·硬件架构
lusasky1 小时前
Java内存堆栈AI分析工具全览
java·开发语言
CoderYanger2 小时前
C.滑动窗口-越长越合法/求最短/最小——2904. 最短且字典序最小的美丽子字符串
java·开发语言·数据结构·算法·leetcode·1024程序员节
QQ_4376643142 小时前
常见题目及答案
android·java·开发语言