凭借一系列新功能与性能增强,TypeScript 5.5 将 JavaScript 开发的标准推向新的高度。
微软最近发布了 TypeScript 5.5,其中提供的一系列功能与优化大大增强了该公司打造的这套 JavaScript 超集。
此番更新包含推断类型条件、改进的表达式验证以及独立声明,同时也实现了显著的性能提升与编辑器可靠性上的增强。
此版本专注于改善开发者体验。TypeScript 5.5 在推动构建流程提速之余,也带来了更强大的辅助工具。
微软 TypeScript 首席产品经理 Daniel Rosenwasser 在一篇博文中解释称,“在代码中编写类型,能够让我们更好地解释意图,也能让其他工具检查我们的代码以发现拼写错误、null 和 undefined 等问题。类型还将支持 TypeScript 的编辑器工具,包括大家已经在 Visual Studio 和 VS Code 等编辑器中所熟知的自动补全、代码导航和重构等。实际上,当大家使用这些编辑器编写 JavaScript 时,这些辅助体验正是由 TypeScript 支持和实现!”
自 TypeScript 5.5 的 beta 版及候选发布版亮相以来,微软已经对该语言进行了多项调整。
例如,博文中提到“自 beta 版以来,我们增加了对 ECMAScript 中新 Set 方法的支持。此外,我们还调整了 TypeScript 的新正则表达式检查行为,稍稍将其放宽,但仍然会将仅在 ECMAScript 附录 B 中获准的可疑转义标记为错误。”
微软还添加并记录了更多性能优化要素:值得注意的是, transpileModule 中的检查被直接跳过,TypeScript 对上下文类型的过滤也接受了优化。该公司表示,这些优化有助于缩短构建与迭代时间。
TypeScript 5.5 中各关键新功能及改进整理如下:
推断类型谓词:改进某些场景下的类型推断,特别是数组和过滤。
收窄控制流以适应常量索引访问:用于对象属性访问的类型收窄得到增强。
JSDoc @import 标记:用于在 JavaScript 文件中导入类型的新标记,不会对运行时产生影响。
正则表达式语法检查:对正则表达式进行基本语法检查以发现常见错误。
支持新的 ECMAScript Set 方法:为提议的新 Set 方法添加声明。
隔离声明:新的编译器选项有助于更快生成声明文件。
${configDir}模板变量:有助于编写更易移植的配置文件。
咨询 package.json 依赖项:通过参考包依赖项以改进声明文件的生成。
编辑器与观察模式的可靠性改进:引入多种修复程序,以改善编辑器体验与观察模式。
性能与大小优化:编译器速度及包大小实现多项改进。
更轻松地从 ECMAScript 模块处调用 API:更好地支持在 ESM(ECMASCript 模块)环境中使用 TypeScript API。
transpileDeclaration API:用于为单个文件生成声明文件的新 API。
Consteallation Research 公司分析师 Holger Mueller 回顾了当初 TypeScript 的首次发布,表示“微软仍在继续为 TypeScript 5.5 投入资金。尽管首个.5 版本的发布速度似乎有所放缓,但从本质上讲,TypeScript 仍然迈步向前并坚守着自己长久以来抱持的初衷:将基于 JavaScript 的应用程序扩展至企业级场景和规模。新版本虽未做出任何突破性的探索,但仍然带来一系列新功能,使其成为 TypeScript 开发者眼中「无聊」却颇具成效的版本。”
新版本还引入了一些行为变化,例如禁用 TypeScript 5.0 中弃用的某些功能。下个版本 TypeScript 5.6 计划于今年 9 月初推出。
与此同时,Omdia 分析师 Brad Shimmin 指出,“简而言之,我认为 5.5 版本的更新体现出这款相对年轻的语言在满足软件稳定性和规模应用等重要需求方面取得的重大进步,也展示了 TypeScript 已经从 JavaScript 这个起点向前探索了很远。我们有理由相信,凭借正则表达式语法检查等新功能(以往编译过程中会忽略正则表达式),TypeScript 在企业级部署的支持层面已经逐渐在向 Java 看齐。”
原文链接:
https://thenewstack.io/typescript-5-5-faster-smarter-and-more-powerful/
声明:本文为 InfoQ 翻译,未经许可禁止转载。