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

TypeScript 6.0 测试版发布,为用 Go 重写的 7.0 版本启动过渡准备

科技资讯 admin 浏览

TypeScript 团队发布了 TypeScript 6.0 Beta 版本,并将其定位为过渡版本。官方表示,TypeScript 6.0 预计是最后一个仍基于原有 JavaScript 代码库的主要版本。TypeScript 团队目前正在使用 Go 语言重写 TypeScript 编译器和语言服务,新代码库将作为 TypeScript 7.0 及后续版本的基础。因此,TypeScript 6.0 在产品节奏上承担着衔接 TypeScript 5.9 与 TypeScript 7.0 的桥梁作用,主要任务是帮助生态系统提前对齐 TypeScript 7.0 的发展方向。

官方提到,TypeScript 7.0 预计将在 TypeScript 6.0 之后不久发布。TypeScript 6.0 进入 Beta 阶段后,官方将其视为功能已趋于稳定的版本,后续重心将放在修复反馈问题和降低迁移成本上。官方也提醒,TypeScript 6.0 中开始出现的弃用选项,虽然可通过 tsconfig.json 设置暂时忽略,但这些弃用项在 TypeScript 7.0 的原生移植版中将被移除,建议开发团队先处理完弃用警告,再评估是否导入 TypeScript 7.0 或其原生预览版。

TypeScript 6.0 新增了 --stableTypeOrdering 标志,使跨版本的类型排序更具可控性,提供了一种更接近 TypeScript 7.0 的类型排序行为。官方指出,TypeScript 7.0 的重要改进之一是并行类型检查,能缩短整体检查时间,但并行会导致内部对象创建顺序变得不确定,从而引发声明文件输出或错误信息出现非确定性差异。TypeScript 6.0 通过 --stableTypeOrdering 将排序行为调整至更接近 TypeScript 7.0,以减少输出比对时的干扰,但可能带来明显的检查时间开销,在极端情况下可达 25%,因此该选项仅作为迁移诊断用途,不建议长期启用。

官方在 TypeScript 6.0 中对多项默认行为进行了调整,使其更严格、更贴近当前主流模块和运行环境标准,包括默认启用严格模式,采用更新的模块系统和编译目标,并缩小自动加载的类型声明范围。这些改动有助于新项目直接获得更优的默认体验,但对现有项目而言,升级后可能暴露出过去被宽松设置掩盖的类型错误,或因全局类型不再自动加载而需要手动补充相关配置。

除了过渡对齐外,TypeScript 6.0 也在模块解析和标准库类型上跟进生态系统的演进,例如 Node.js 近期引入的子路径导入语法,TypeScript 6.0 已在对应的解析模式下提供支持,缩小了工具链之间的差异。模块解析配置的限制也有所放宽,使仍以 CommonJS 为主要输出目标的项目在迁移路径上更具弹性。在库声明方面,TypeScript 6.0 新增了对 ES2025 标准 API 的类型支持,并将 Temporal API 的类型纳入可用范围。