TypeScript 5.0 现已发布。此版本带来了许多新功能,同时旨在使 TypeScript 更小、更简单、更快。5.0 版本实现了新的装饰器标准、更好地支持 Node 和捆绑器中的 ESM 项目的功能、库作者控制泛型推理的新方法、扩展了 JSDoc 功能、简化了配置,并进行了许多其他改进。
自 Beta 和 RC 以来有什么新功能?
自 TypeScript 5.0 Beta 以来的一个新区别是 TypeScript 允许在export
和export default
之前或之后放置装饰器。这一变化反映了 TC39(ECMAScript/JavaScript 的标准机构)内部的讨论和共识。
另一个是,是新的 bundler
模块解析选项只能在 --module
选项设置为 esnext
时使用。这样做是为了确保在打包器解析之前,输入文件中写入的 import
语句不会转换为 require
调用,无论打包器或加载器是否尊重 TypeScript 的 module
选项。
虽然 TypeScript 5.0 Beta 附带了 “在编辑器场景中支持不区分大小写的导入排序” 功能,但版本更新公告中没有详细介绍,因为用于自定义的 UX 仍在讨论中。
自 RC 以来,最显着的变化是 TypeScript 5.0 现在在package.json
中指定了12.20
的最小 Node.js 版本。官方还发布了一篇关于 TypeScript 5.0 向模块迁移的文章。
自 TypeScript 5.0 Beta 和 RC 发布以来,速度基准和包大小增量的具体数字也进行了调整,尽管 noise 一直是运行过程中的一个因素。为了清晰起见,还对一些基准的名称进行了调整,并且包大小的改进已移至单独的图表中。
TypeScript 5.0 主要功能
- 装饰器
const
类型参数extends
支持多配置文件enums
类型已成为 Unionenums
--moduleResolution bundler
- Resolution Customization Flags
--verbatimModuleSyntax
- 支持
export type *
- JSDoc 支持
@satisfies
- JSDoc 支持
@overload
- 支持使用
--build
传递 Emit-Specific Flags - 编辑器中不区分大小写的导入排序
- 完善
switch
/case
- 速度、内存和包大小优化
- 破坏性变更和弃用
详情可查看发布公告。
为您推荐与 typescript 相关的帖子: