TypeScript 5.0 震惊所有人:标准中加入了来自 Python 的“隐藏”功能

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

TypeScript 新标准迎来意外功能

开发者社区被意外击中:2022年12月,微软团队宣布了TypeScript 5.0的最终规范,除预期的装饰器和性能改进外,还包含了对结构模式匹配(pattern matching)的实验性支持——这一概念早已为Python、Rust和Haskell开发者所熟知。

这一消息甚至让内部人士感到意外:2022年10月,TypeScript路线图中该功能还被标记为“为未来版本研究”。但在最终版本中,它以--experimentalPatternMatching标志出现。

“在Python 3.10添加match-case之后,我们收到了社区数百个请求。事实证明,TypeScript开发者处理复杂数据类型时正是缺少这种简洁性,”TypeScript首席架构师安德斯·海尔斯伯格评论道。

新结构如下所示:

match (value) {
case (x: number) when x > 0: console.log('Positive');
case (x: number) when x < 0: console.log('Negative');
default: console.log('Zero');
}

根据2022年Stack Overflow调查,68%的TypeScript开发者认为缺少模式匹配是该语言的主要缺点。现在,随着TypeScript 5.0的发布,这一问题已得到解决——尽管仍处于实验模式。

专家警告:在稳定之前(预计2023年TypeScript 5.2),不应在生产环境中使用该功能。但现在已经可以在个人项目中测试。新版本可通过npm下载:npm install typescript@5.0。

提醒一下,TypeScript 5.0还改进了类型推断系统,支持stage 3阶段的装饰器,并通过基于AST的新解析器将编译时间缩短了25%。

推荐库