TypeScript 5.0 正式发布
在三个月前宣布 TypeScript 5.0 Beta 版本后,TypeScript 5 终于正式发布。此次更新带来了多项重要变化,包括对装饰器的扩展支持、新的 bundler 模块解析选项等。
主要新功能
装饰器的扩展支持
装饰器是 TypeScript 5.0 中最显著的新功能,允许在 export 和 export default 前后使用装饰器。这一变化主要是为了与未来 ECMAScript/JavaScript 版本的兼容性需求。装饰器可以用于修饰类及其成员,使其更易于重用。例如,可以创建一个 loggedMethod 装饰器来为现有函数添加日志行为。
新的 bundler 模块解析选项
TypeScript 5.0 引入了一个新的 bundler 模块选项,名为 --moduleResolution bundler,旨在改善与现代打包工具如 Vite、esbuild、swc、Webpack、Parcel 等的共存性。该选项仅适用于 esnext 模块,以确保输入文件中的 import 语句在打包器解析之前不会被转换为 require 调用。
其他重要信息
不遵循语义版本控制
尽管 TypeScript 5.0 是第一个使用主版本号 5 的版本,但需要注意的是,TypeScript 并不遵循语义版本控制。这意味着从 TypeScript 4.9 升级到 5.0 并不比从 4.8 升级到 4.9 有本质上的不同。
破坏性变更和弃用
TypeScript 5.0 引入了一些破坏性变更和弃用,例如对 enum 类型的全面重构,这可能会破坏现有代码。
总结
TypeScript 5.0 的发布标志着该语言的进一步成熟,特别是在装饰器和模块解析方面的改进,使其与现代开发工具和标准更加兼容。尽管存在一些破坏性变更,但这些变化为未来的发展奠定了坚实的基础。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。