严格的生成器(Stricter Generators)
TypeScript 引入了对迭代器和生成器函数(generator functions)的更严格检查。在早期版本中,生成器的使用者无法区分一个值是来自 yield 操作或是从生成器返回。
在此基础上,新类型 Generator 是一个 Iterator,它同时存在 return 和 throw 方法,并且是可迭代的。
数组扩展
在默认情况下,TypeScript 使用一个更简单的发射,它只支持数组类型,并支持使用 --downlevelIteration 标志在其他类型上进行迭代。在此标志下,发出的代码更准确,但要大得多。但是,在某些边缘情况下,受支持的数组还是存在一些差异,如下:
[...Array(5)]
等效于以下数组:
[undefined, undefined, undefined, undefined, undefined]
但是,TypeScript 将原始代码转换为以下代码:
Array(5).slice();
这是不一样的,Array(5) 生成长度为 5 的数组,但没有属性:
当发射到 ES 2015或其他时,3.6 版本包含更好地支持标识符中的 Unicode 字符:
在任何情况下合并类和函数都是有错的。此版本中,环境类和函数(带有 declare 修饰符的类/函数,或 .d.ts 文件中的类/函数)可以合并。如下内容:
而不需要使用:
New TypeScript Playground
新的 TypeScript playground 支持许多新的选择,包括:
请见 。使用 npm 命令获取:
npm install -g typescript
编辑器支持:
参考来源:
因篇幅问题不能全部显示,请点此查看更多更全内容