最新消息:关注人工智能 AI赋能新媒体运营

TypeScript 7 编译速度可达 10 倍,微软定调 6.0 为最后一个 JavaScript 版本

科技资讯 admin 浏览

微软TypeScript团队公布最新开发进展,确认代号为Corsa的TypeScript 7原生工具链已进入后期阶段,编译器与语言服务在真实项目中的兼容性与稳定性已接近可用水平,并在大型代码库中测得接近10倍的编译性能提升。同时,官方宣布TypeScript 6.0将是最后一个基于JavaScript实现的版本,后续重心将全面转向使用Go语言原生实现的编译器与语言服务。

官方已通过VS Code原生预览扩展发布新的TypeScript语言服务,新服务支持代码补全、定义跳转、引用查找、重命名、签名提示等核心功能,并已在包含项目引用(Project References)的TypeScript与JavaScript代码库中稳定日常使用。微软表示,语言服务内部已重构为基于共享内存的并发架构,显著降低了各类规模项目的内存占用与加载时间,改善了此前预览版偶发不稳定的问题。

性能是本次TypeScript原生化的核心目标。微软以现有JavaScript版编译器tsc为基准,与Go原生实现的tsgo进行完整构建时间对比,结果显示tsgo在未启用--incremental增量构建的情况下,构建速度普遍提升7至10倍,完整重编时间大幅缩短。

微软明确表示,TypeScript 6.0将是最后一个基于原有JavaScript代码库(Strada)的版本,不再规划6.1版本。未来仅在出现安全漏洞、严重缺陷或与7.0版本高度兼容相关的情况下,才会发布6.0.x的修复补丁。

不过,当前原生编译器仍存在部分限制:TypeScript 7的JavaScript输出管线尚未完全覆盖旧有的降级能力,目前向下编译目标最高仅支持到es2021,且尚未支持装饰器(Decorators)。旧版编译器API在TypeScript 7中已不可用,相关工具仍需依赖6.0版本提供的API。

另一方面,TypeScript 7对JavaScript注释中结构化标记JSDoc的类型检查进行了重新实现,移除了部分过去较为宽松或较少使用的模式,例如不再支持@enum与@constructor标记,并取消了将Object视为any、将String视为string,以及自动将某些参数推断为可选等规则。这意味着,部分依赖JavaScript搭配JSDoc维护的项目,在切换至新编译器后可能会出现更多类型错误提示,需调整注释内容或逐步迁移到TypeScript语法。