TypeScript 6.0 发布:迈向原生移植 7.0 的过渡版,默认配置有多处破坏性变更
2026年3月23日,微软 TypeScript 团队宣布 TypeScript 6.0 正式可用,可通过 npm install -D typescript 安装。[1] 官方博客称,这是基于现有 JavaScript 代码库的最后一版;后续 TypeScript 7.0 将建立在 Go 语言重写的原生编译器与语言服务之上,6.0 的定位是 5.9 与 7.0 之间的桥梁。[1]
新能力与库类型更新
6.0 不只是「对齐 7.0」。官方点名的改动包括:无实际使用 this 的函数在泛型推断里不再被一律当成上下文敏感,从而减少方法语法与箭头函数行为不一致的问题;在 nodenext / bundler 模块解析下支持以 #/ 开头的 Node.js 子路径导入;允许 --moduleResolution bundler 与 --module commonjs 组合,方便从旧 node10 解析迁移。[1]
库方面新增 es2025 的 target/lib 选项;Temporal API、Map/WeakMap 的 getOrInsert / getOrInsertComputed,以及 RegExp.escape 等类型进入相应 lib;dom lib 默认纳入原先拆开的 iterable / asynciterable 声明。[1] 另提供实验性 --stableTypeOrdering,让 6.0 的类型排序更接近 7.0 并行检查下的确定性排序,便于对照声明文件差异,但可能拖慢类型检查。[1]
破坏性变更:先改 tsconfig 再谈尝鲜 7.0
官方强调一批默认值与弃用项。例如 strict 默认改为 true,module 默认 esnext,target 默认贴近当年 ES 版本(发文时为 es2025),types 默认变为空数组 []——许多项目需要显式写 "types": ["node"] 等,否则会出现找不到 process、内置模块等报错;rootDir 默认改为含 tsconfig.json 的目录。[1]
同时弃用或收紧:target: es5、--moduleResolution node(node10)、amd/umd/systemjs 等 module 值、--baseUrl 作为解析根、outFile、导入断言 asserts(改用 with)等。可用 "ignoreDeprecations": "6.0" 暂时压制警告,但 7.0 将不再保留这些选项。[1]
对多数业务仓库,升级路径是:先装 6.0 → 按报错补 types/rootDir、改掉弃用选项 → 再试用原生预览版 7.0。完整 changelog 以官方博文为准,本稿不整页搬运。
说明:版本行为与弃用列表据微软 DevBlog《Announcing TypeScript 6.0》(2026年3月23日);具体项目以本地
tsc与官方文档为准。
来源
[1] Microsoft TypeScript Blog: Announcing TypeScript 6.0,2026年3月23日,Daniel Rosenwasser。
#TypeScript #TS6 #微软 #JavaScript #前端 #新闻


成为第一条评论!
Nobody's responded to this post yet. Add your thoughts and get the conversation going.