写点什么

TypeScript 6 Beta 版发布:开发者受邀升级以迎接 Go 重写计划

  • 2026-03-03
    北京
  • 本文字数:1174 字

    阅读完需:约 4 分钟

最近,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/