2023 年 3 月 17 日,TypeScript 5.0 正式发布!此版本带来了许多新功能,旨在使 TypeScript 更小、更简单、更快。TypeScript 5.0 实现了新的装饰器标准、更好地支持 Node 和打构建工具中的 ESM 项目的功能、库作者控制泛型推导的新方法、扩展了 JSDoc 功能、简化了配置,并进行了许多其他改进。
以下是 TypeScript 5.0 的主要更新:
- 全新装饰器
const类型参数extends支持多配置文件- 所有枚举都是联合枚举
--moduleResolutionbundler- 自定义解析标志
--verbatimModuleSyntax- 支持
export type * - JSDoc 支持
@satisfies - JSDoc 支持
@overload - 编辑器中不区分大小写的导入排序
- 完善
switch/case - 优化速度、内存和包大小
- 其他重大更改和弃用
在 TypeScript 5.5 之前,这些配置将继续被允许使用,届时它们将被完全删除,但是,如果正在使用这些设置,将收到警告。 在 TypeScript 5.0 以及未来版本 5.1、5.2、5.3 和 5.4 中,可以指定 "ignoreDeprecations": "5.0" 以消除这些警告。 很快会发布一个 4.9 补丁,允许指定 ignoreDeprecations 以实现更平滑的升级。除了弃用之外,还更改了一些设置以更好地改进 TypeScript 中的跨平台行为。
--newLine,控制 JavaScript 文件中发出的行结束符,如果没有指定,过去是根据当前操作系统推断的。我们认为构建应该尽可能确定,Windows 记事本现在支持换行符,所以新的默认设置是 LF。 旧的特定于操作系统的推理行为不再可用。--forceConsistentCasingInFileNames,它确保项目中对相同文件名的所有引用都在大小写中达成一致,现在默认为true。 这有助于捕获在不区分大小写的文件系统上编写的代码的差异问题。
此文章为6月Day025学习笔记,内容来源于极客时间《TypeScript精讲》,强烈推荐该课程!