技术开发 频道

TypeScript2.3发布 支持生成器与迭代器

  【IT168 资讯】TypeScript 2.3版本发布,它是微软的开源编程语言,是JavaScript的超集。TypeScript 2.3具有ES5/ES3的生成器和迭代功能,通用参数默认值等等。

TypeScript2.3发布 支持生成器与迭代器

  据Daniel Rosenwasser在MSDN博客上介绍,以前,TypeScript不支持编译生成器或使用迭代器。使用TypeScript 2.3,它不仅支持两者,还支持ECMAScript的新的异步发生器和异步迭代器。

  AsyncIterator和Iterator之间的区别在于AsyncIterator的next,return和throw方法为迭代结果返回一个Promise,而不是结果本身。这允许调用者在AsyncIterator已经提前到产生值的时候登记异步通知。AsyncIterator具有以下形式:

TypeScript2.3发布 支持生成器与迭代器

  TypeScript 2.3增加了对通用类型参数声明默认值的支持,可以消除大量的输入。一般参数默认值遵循以下规则:

  如果类型参数具有默认值,则视为可选参数。

  必需的类型参数不能遵循可选的类型参数。

  类型参数的默认类型必须满足type参数的约束(如果存在)。

  指定类型参数时,只需要指定所需类型参数的类型参数。未指定的类型参数将解析为其默认类型。

  如果指定了默认类型,并且推论无法选择候选项,则推断默认类型。

  与现有类或接口声明合并的类或接口声明可能会为现有类型参数引入默认值。

  与现有类或接口声明合并的类或接口声明可以引入一个新的类型参数,只要它指定一个默认值即可。

  对于Rosenwasser,一种新的类型检查模式,使用注释来指定常规JavaScript声明的类型。列出了新功能的列表。他提到:

  长期以来,TypeScript可以使用--allowJs标志逐渐将文件从JavaScript迁移到TypeScript,然而,我们从JavaScript用户那里听到的常见难点之一是迁移JavaScript代码库并从TypeScript获取早期优势是困难的。这就是为什么在TypeScript 2.3中,我们正在试验一种新的“软”形式来检查.js文件,它带来了许多编写TypeScript的优点,而不用实际写入.ts文件。

  相反,需要做的只需键入,检查一个文件就是将// @ ts-check添加到顶部的注释。

  Rosenwasser还解释了如何使用TypeScript 2.3开始使用Typescript并发现其功能。这是为了发现人们经常不知道TypeScript可以在JavaScript文件上工作,或者它可能捕获可空性错误。为了使TypeScript更易于访问,帮助输出已得到改进,以便按照主题对选项进行分组,默认情况下会跳过更多涉及的/较不常见的选项,并且init输出列出注释中的潜在选项。

  为了提供非常好的的开发人员体验,TypeScript 2.3引入了一个新的--strict标志,默认情况下,所有新的tsc --init开始的项目将被打开。它启用以下设置:

TypeScript2.3发布 支持生成器与迭代器

  最终这些在所有文件中强制执行JavaScript严格模式。


  根据TypeScript路线图,下一版本的版本2.4将包括对于回调参数,字符串枚举,语言服务API中的重构支持以及更好的错误报告的检查。

0
相关文章