TypeScript 5.9正式发布,此次更新重点在于改进开发流程与提升性能,特别针对项目初始化、自动化模块加载与现代JavaScript应用的兼容性,进行多项强化。新版特色在于降低初学者上手门槛,同时确保资深开发者于大型项目环境下也能获得更好的开发体验。

开发团队长期搜集用户反馈与实务需求,在TypeScript 5.9版本将tsc --init初始化项目时所产生的tsconfig.json设置文件进行大幅简化,仅保留最常用且具实质效益的默认选项,并删除繁琐的注解与冗余设置,提升整体设置流程的效率与可维护性。将默认值如module设为nodenext、target为esnext,激活严格类型检查与略过第三方类型检查,以及将types设为空数组,有助于新旧项目快速完成基础设置。

TypeScript 5.9正式支持ECMAScript的import defer语法。开发者可利用import defer * as feature from “./some-feature.js",让模块于加载时先准备好资源,但延后到实际访问成员时才执行初始化动作。此设计有助于降低大型应用初始启动时的性能负担,并在条件加载或需延迟副作用发生的场景下提供更好的弹性。

新版本引入module node20设置,明确与Node.js 20的模块行为对齐,对于需要长期稳定运维或多环境部署的项目特别有用。与nodenext模式会随标准调整不同,node20提供一个固定参照,有利于维护程序代码一致性。激活node20时,target自动设为es2023,省去手动调整,有效降低开发与测试成本。

TypeScript 5.9也改进了开发者在IDE中的体验,lib.d.ts现已集成MDN文件摘要,用户于编辑器中可即时取得DOM API主要功能说明,提升查询效率。可展开类型快显(Expandable Hovers)功能预览上线,让开发者能即时展开查看类型细节,减少反复跳转定义的需求。此外,新版支持快显消息长度自订,避免复杂类型资讯遭截断。

类型系统方面,本次针映射射器(Mapper)类型实例化流程增加缓存机制,大幅减少重复运算,特别适合依赖泛型与复杂类型计算的应用。文件存在性检查也调整函数分配逻辑,根据开发者实测,在大型项目下可提升11%的编译性能。