微软发布了 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 很快也会更新。开发人员可以通过微软的博客文章了解这次发布的更多信息。
评论