TypeScript 7.0 Beta 发布
摘要
TypeScript 7.0 Beta 推出基于 Go 的全新编译器,速度约为 6.0 的 10 倍,同时保持完全语义兼容,并已在数百万行代码的实战中验证。
<p><a href="https://lobste.rs/s/48omfn/announcing_typescript_7_0_beta">评论</a></p>
查看缓存全文
缓存时间: 2026/04/22 01:59
# TypeScript 7.0 Beta 发布 - TypeScript
来源: https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/
2026 年 4 月 21 日 0 反应
首席产品经理
今天我们无比激动地宣布 TypeScript 7.0 Beta 正式发布!如果你一直关注 TypeScript 7.0 的开发,就会知道这次发布意义非凡——它完全基于全新的底层实现。过去一年,我们把整个 TypeScript 代码库从“自举的 TypeScript→JavaScript”迁移到了 **Go**。借助原生代码的速度与共享内存并行能力,**TypeScript 7.0 的速度通常是 6.0 的 10 倍**。别被“Beta”标签吓到——你现在就可以把它用在日常工作中。新的 Go 代码库是**逐行对照原有实现移植**而来,而非推倒重写;类型检查逻辑与 TypeScript 6.0 **结构完全一致**,确保语义 100% 兼容。我们用它跑通了十年积累下来的庞大测试集,并已在微软内外多个千万行级代码库中落地,表现稳定、兼容、可直接接入你的 CI。
过去一年,我们联合微软内部团队以及 Bloomberg、Canva、Figma、Google、Lattice、Linear、Miro、Notion、Slack、Vanta、Vercel、VoidZero 等公司,在他们的代码库上试用预发布版本,反馈极其正面:构建时间大幅缩短,编辑器轻盈流畅。我们相信 Beta 已足够健壮,迫不及待等你来体验。
## 使用 TypeScript 7.0 Beta
通过 npm 安装:
```bash
npm install -D @typescript/native-preview@beta
```
> 注意:正式版会改回 `typescript` 包名。
安装后,把原来的 `tsc` 换成 `tsgo`:
```bash
npx tsgo --version
# Version 7.0.0-beta
```
想体验编辑器,请装 VS Code 插件 [TypeScript Native Preview](https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.native-preview)。它已大规模内部使用数月,功能齐全,性能与 CLI 一致,基于语言服务器协议,也可用于 Copilot CLI 等场景。
## 与 TypeScript 6.0 并存
Beta 阶段包名为 `@typescript/native-preview`,入口为 `tsgo`,方便你并排验证。正式版仍会叫 `typescript` 并提供 `tsc`。
由于 7.0 的稳定编程 API 要到 7.1 才发布,我们专门发布了兼容包 `@typescript/typescript6`,提供 `tsc6` 入口,可与未来的 `tsc`(7.x)共存。
若某些工具(如 typescript-eslint)通过 peerDependencies 强依赖 `typescript`,可用 npm alias:
```bash
npm install -D typescript@npm:@typescript/typescript6
```
或在 `package.json` 中:
```json
{
"devDependencies": {
"typescript": "npm:@typescript/typescript6@^6.0.0"
}
}
```
## 并行化与调优
TypeScript 7.0 把解析、类型检查、产物生成等步骤全面并行化:
### Checker 并行
默认启动 4 个类型检查 worker,可用 `--checkers N` 调整。worker 内部会复用公共类型信息,确保结果一致。增大 worker 数可进一步提速,但会占用更多内存;CI 等核数少的场景可适量减少。
### Project Reference 并行
新增 `--builders M` 控制同时构建的项目数,对 monorepo 尤为有用。与 `--checkers` 叠加后总并发数为 N×M,需权衡内存。
### 单线程模式
调试、资源受限或外部已做并行编排时,可 `--singleThreaded` 强制单线程。
## 自 5.x 以来的默认行为变化(继承 6.0)
7.0 完全对齐 6.0 的类型检查与 CLI 行为,只是把 6.0 中“废弃”的选项直接报错。关键默认差异:
- `strict: true`
- `module: esnext`
- `target: 当前稳定版 ECMAScript - 1`
- `noUncheckedSideEffectImports: true`
- `libReplacement: false`
- `stableTypeOrdering: true`(不可关)
- `rootDir` 默认 `./`,源码目录需显式指定
- `types` 默认 `[]`,需手动列所需 `@types`
若 `tsconfig.json` 放在 `src` 外,需加:
```json
"rootDir": "./src"
```
若依赖全局声明,需显式写:
```json
"types": ["node", "jest"]
```
已移除/硬错误:
- `target: es5`
- `downlevelIteration`
- `moduleResolution: node/node10` → 用 `nodenext` / `bundler`
- `module: amd, umd, systemjs, none` → 用 `esnext` / `preserve`
- `baseUrl` 不再支持,改相对 `paths`
- `moduleResolution: classic` → 用 `bundler` / `nodenext`
- `esModuleInterop` / `allowSyntheticDefaultImports` 不可 false
- `alwaysStrict` 恒为 true
- 命名空间声明里不能用 `module` 关键字
- import 断言必须用 `with` 而非 `asserts`
- `/// <reference ...>` 在 `skipDefaultLibCheck` 下失效
- 当前目录含 `tsconfig.json` 时,CLI 不可直接传文件路径,除非加 `--ignoreConfig`
## JavaScript 支持差异
移植过程中我们重做了 JS 分析,使其与 TS 文件保持一致:
- 值不能当类型用,需 `typeof someValue`
- 不再特殊识别 `@enum`,改用 `@typedef` 写法
- 单独 `?` 不能当类型,用 `any`
- `@class` 不再把函数变构造函数,请用 `class`
- 后缀 `!` 不再支持,直接用 `T`
- 类型别名必须在 `@typedef` 标签内定义
- 不再支持 Closure 风格函数签名,改用 TS 简写
- 不再特殊处理 `var self = this`、整体重写 `prototype` 等模式
详细差异持续更新于 [CHANGES.md](https://github.com/microsoft/typescript-go/blob/main/CHANGES.md)。
## 编辑器体验
VS Code 插件 [TypeScript Native Preview](https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.native-preview) 已支持自动导入、悬停展开、inlay 提示、code lens、跳转到源定义、JSX 标签联动补全等。测试与诊断基础设施已全面重构,质量与原生插件持平,仅剩语义高亮、细粒度导入排序等少量功能在途。
## 后续计划
未来几周我们将推出更高效的 `--watch` 实现、JS 生成声明文件特性,补齐“查找文件引用”、细粒度“排序/删除未使用导入”等命令。
7.1 及以后推出稳定编程 API,并持续完善真实场景测试与反馈修复。
## 通往 TypeScript 7.0 之路
Beta 已发布,团队正聚焦缺陷修复、兼容性与性能打磨。计划两个月内发布正式版,此前会先推 RC 锁定行为。欢迎立即体验并反馈!
相似文章
Gemini 2.5 Pro 预览版:编码性能再创新高
Google 发布 Gemini 2.5 Pro 预览版(I/O 版本),编码能力显著提升,在 WebDev Arena 前端开发排行榜上排名第一,并支持视频转代码等高级功能。
LemmaScript:通过 Dafny 验证 TypeScript 的工具链
LemmaScript 是一套全新工具链,可将 TypeScript 编译为 Dafny 进行形式化验证,无需改动运行时,并已通过验证 Hono 框架中一个 CVE 修复实例加以演示。
Mojo v1.0.0b1
Mojo,Modular 推出的高性能编程语言,已发布 1.0.0 beta 1 版本。
使用 o3、o4-mini 和 GPT-4.1 更快地交付代码
CodeRabbit 推出了基于 OpenAI 的 o3、o4-mini 和 GPT-4.1 模型的增强代码审查功能,使开发者能够提升 4 倍交付速度并减少 50% 的生产 bug。该工具现已包含 VS Code 集成,并使用多步推理来捕捉代码库中的 bug、重构问题和架构缺陷。
你这周在做什么?
一位开发者分享了可嵌入类型化语言 Ekto 的最新进展,该语言受 Lua、Koka 和 Erlang 启发,并讨论了为 Casper VM 实现引用计数、内存管理及有界续体时面临的挑战。