TypeScript 3.6 Beta 发布 对迭代器和生成器函数引入更严格检查

阅读数:1288 2019 年 7 月 24 日 16:51

TypeScript 3.6 Beta发布 对迭代器和生成器函数引入更严格检查

近日,Microsoft 的 TypeScript 项目经理 Daniel Rosenwasser 在官网宣布 TypeScript 3.6 Beta 发布。在接下来的几周,开发人员将改正可能出现的错误以提升性能和稳定性,预计 TypeScript 3.6 将于今年 8 月底发布。Daniel 和他的团队表示,希望人们给测试版一点关注,让他们知道它的表现究竟如何。

TypeScript 3.6 Beta发布 对迭代器和生成器函数引入更严格检查

新版本变化

TypeScript 3.6 引入了对迭代器和生成器函数的更为严格的检查。在较早的版本中,生成器的用户无法区分值是生成器生成的还是返回的。

这是为了响应“添加 __spreadArrays 助手”的拉取请求,声明“在不使用 --downlevelIteration 时,添加 __spreadArrays 助手以获得更准确的传播行为”。

在 ES2015 之前的目标中,对于像 for/of 循环和数组扩展这样的结构,最忠实的发出可能会有点沉重。出于这一原因,TypeScript 默认使用更简单的发出。它只支持数组类型,并且支持使用 —downlevelIteration 标志迭代其他类型。在此标志下,发出的代码更准确,但更大。

Promises 是目前处理异步数据最常见的方法之一。不幸的是,使用 Promise 面向对象的 API 常常会令用户感到困惑。TypeScript 3.6 引入了一些改进,以防止 Promise 被错误处理。

例如,在将其传递给另一个函数之前忘记 .then() 或者 await 内容通常是很常见的 Promise。TypeScript 的错误消息现在是专用的,并会告知用户他们可能应该考虑使用 await 关键字。

像 Visual Studio 和 Visual Studio Code 这样的编辑器可以自动应用快速修复,重构和其他转换,例如自动从其他模块导入值。这些转换由 TypeScript 提供支持,旧版本的 TypeScript 无条件地在每个语句的末尾添加分号。不幸的是,这不同于许多用户的风格指南,许多用户对编辑器插入分号感到不满。

TypeScript 现在足够智能,可以在应用这些编辑时检测使用者的文件是否使用分号。如果文件通常缺少分号,则 TypeScript 不会添加。

除此之外,文档中还提到诸如,字符串命名构造函数是“construstor”,DOM 更新以及 JSDoc 注释分开等重要变化。

TypeScript 成为“十大语言”之一

近日,RedMonk 发布 2019 年 6 月编程语言排名。令人意外的是,TypeScript 挤进了前十。

TypeScript 3.6 Beta发布 对迭代器和生成器函数引入更严格检查

各种编程语言在 Stack Overflow 和 GitHub 上受欢迎程度排名示意图 (图源:RedMonk)

TypeScript 3.6 Beta发布 对迭代器和生成器函数引入更严格检查

RedMonk 编程语言排名结果(2019 年 6 月)(图源:RedMonk)

除了 2018 年的一个季度 Swift 排名第 10 之外,我们已经有 5 年没有看到其他语言进入“十大语言榜单”。然而,在本季度排名中,TypeScript 的排名持续上一季度的增长态势,从第 12 位飙升至第 10 位,超过了 Objective-C 和快速发展的 Swift。三年前的这个时候,TypeScript 刚刚突破到第 26 位,此前它已经在 30 名左右的位置衰落了很多年。现在,JavaScript 的无处不在,加上 TypeScript 提供的可选安全性已被证明是一个成功的组合。

原文链接:
Announcing TypeScript 3.6 Beta

相关链接:
TypeScript 3.6 迭代计划
TypeScript 路线图

评论

发布
用户头像
在这里做一个小小的调查,请问大家在使用TS吗?此次发布的Beta版本有哪些新特性比较吸引您?如果您还没有使用过TS,原因是什么呢?欢迎各位留言~
2019 年 07 月 24 日 17:23
回复
没有更多了