点击“开发者技术前线”,选择“星标”
让一部分开发者看到未来
出品 | OSC开源社区(ID:oschina2013)
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
类型已成为 Union
enums
--moduleResolution bundler
Resolution Customization Flags
--verbatimModuleSyntax
支持
export type *
JSDoc 支持
@satisfies
JSDoc 支持
@overload
支持使用
--build
传递 Emit-Specific Flags
编辑器中不区分大小写的导入排序
完善
switch
/
case
速度、内存和包大小优化
破坏性变更和弃用
— 完 —
点这里👇关注我,记得收藏订阅哦~
历史推荐
重磅!百度发布文心一言!对比 GPT-4现场实测,股价大跌10%,百度背水一战?
微软开源Visual ChatGPT,7天斩获2.2万stars
好文点个在看吧