@levinzhang
2017-07-10T05:23:24.000000Z
字数 856
阅读 492
by
微软发布了TypeScript的2.4版本,这个版本添加了对动态导入(这是一项ECMAScript 2018的特性)以及字符串枚举的支持。
微软发布了TypeScript 2.4,这是该JavaScript超集语言的最新版本。最新版本的新特性并不多,但是保持了该语言的新鲜感并添加了一些新功能来跟踪开发人员的需求。
微软这次展示的最大特性就是支持动态import()
表达式。这项特性目前处于TC39进程(预期会出现在ECMAScript 2018的定义中)的第3阶段,允许开发人员“有条件并且懒导入其他的模块和库,从而让应用程序更加高效且节省资源”。在此之前,如果模块想要导入一个库的话,必须要在文件的顶部实现。这里有个提示,以es2015
为target的模块无法使用该特性。要结合Webpack 2+的code-splitting功能来使用该特性时,开发人员必须要将esnext
作为要形成的目标模块。
因为加强了类型检查,所以会有一些破坏性的变更。例如,强化的弱类型检查意味着如果你的代码想要将一些属性赋值给一个弱类型,而其中没有一个属性能够匹配的话,那么在2.4版本中将会出现失败。
从社区的反馈来看,开发人员对于添加字符串枚举的特性表达了感谢之情。很多开发人员展示了为了使用基于字符串的枚举特性,他们在过去所采用的各种“hack”方式,其中最流行的方式是使用union类型:
type Sports = "Football" | "Baseball";
在引入了新的字符串枚举之后,上述的样例可以更加自然地改写为:
enum Sports {
Football = "FOOTBALL",
Baseball = "BASEBALL"
}
Visual Studio 2017用户可以获取最新的安装文件,其他的编辑器比如Visual Studio Code很快也会更新。开发人员可以通过微软的博客文章了解这次发布的更多信息。