TypeScript 5.8 发布总结
主要发布者
- Daniel Rosenwasser:微软首席产品经理,负责 TypeScript 的产品管理。
主要更新
更智能的类型推断:
- 改进了条件返回类型的推断。
- 示例代码展示了在
return
语句中的条件表达式会检查每个分支是否符合函数声明的返回类型。 - 之前的版本未检测到的类型错误在新版本中会被捕获。
性能提升:
- 新版本在性能上有所优化。
与 JavaScript 生态系统的互操作性增强:
- 支持在 Node.js 中直接运行 TypeScript,无需编译步骤。
- 通过
--erasableSyntaxOnly
标志,TypeScript 可以在 Node.js 中直接运行,前提是语法是可擦除的(即不改变运行时语义的 TypeScript 特定语法)。
对
require()
的完全支持:- 使用
--module nodenext
标志时,TypeScript 现在完全支持require()
用于 JavaScript 模块。
- 使用
开发者反馈
- 大多数开发者对改进的类型推断表示欢迎。
- 有开发者指出,之前未明确记录的强制类型转换问题令人沮丧。
未来展望
- TypeScript 团队的目标:未来可能不再使用某些语法,特别是当 JavaScript 的类型语法提案达到第 4 阶段时。
- JavaScript 类型语法提案:目前处于第 1 阶段,旨在减少构建步骤的需求,使开发设置更简单。
技术细节
- 示例代码:展示了新版本如何捕获类型错误。
- 可擦除语法示例:如
const foo: string = 'foo';
在擦除后变为const foo = 'foo';
。
完整发布说明
- 开发者可以在微软的开发者博客上查看完整的发布说明,包括更多的技术细节、示例和功能列表。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。