技术编辑:徐九丨发自 深夜发痴
SegmentFault 思否报道丨公众号:SegmentFault
近日,微软的 TypeScript 团队发布了这一年轻编程语言的 3.9 版本,这是 JavaScript 的超集,可将其编译为 JavaScript 代码,在浏览器中或浏览器外的 Node.js 上运行。
微软于 2012 年发布了适用于大型 JavaScript 项目的 TypeScript,并使其迅速成为开发人员最受欢迎的编程语言之一。TypeScript 是由 C# 的创建者 Anders Hejlsberg 创建的,直到今天他本人也一直在进行相关的维护。
TypeScript 3.9 中的主要改进之一是加快了编译速度,特别是对于流行的 UI 库 styled-components 和 material-ui。这是 Facebook 开发的 JavaScript web 框架 React 的组件,用于 Google Material Design web 应用程序。
通过几次拉去请求,TypeScript 团队优化了"某些涉及大联合、交叉、条件类型和映射类型的病态情况",从而实现了巨大的编译时间改进。
该团队写道:"我们的团队在观察到 material-ui 和 styled-components 等软件包编译速度极差后,一直在关注性能。"
"这些拉取请求中的每一个都能在某些代码库上获得大约 5% 到 10% 的编译时间。总的来说,我们相信,我们已经实现了大约40%的material-ui的编译时间减少。"
“这些拉取请求中的每一个在某些代码库上的编译时间都减少了5%到10%。总的来说,我们相信我们已经将Material-ui的编译时间减少了40%左右。”
一位在 Outlook Web App 上工作的微软工程师说,升级到 TypeScript 3.9 后,他的编译时间从 26 秒缩短到 10 秒。
@typescript 3.9 的速度提升是如此显著!在我的一个项目中,它使它的编译速度从 26 秒降到了 10 秒......我除了升级之外没有做任何工作。
-Ken(@kenneth_chau)2020年5月4日
对于将 TypeScript 与 Microsoft 的代码编辑器 VS Code 结合使用的用户,更改重命名文件的方式也可以加快处理速度。
TypeScript 3.9 引入了一个新功能'//@ts-expect-error comments',以改善 JavaScript 和 TypeScript 之间的错误报告冲突。
Daniel Rosenwasser 和 TypeScript 团队发布了一篇博文,解释了 3.9 版本中的进一步变化,以改善 TypeScript 编辑器的体验,它对交集和可选属性的检查,以及对 TypeScript 与 JavaScript 背后的 ECMAScript 规范的改进。
微软预计将在 6 月下旬发布 TypeScript 4.0 测试版,经过一轮发布候选版本后,微软计划在 8 月 18 日推出 TypeScript 4.0。
正如 Rosenwasser 解释的那样,TypeScript 为 JavaScript 添加了语法,TypeScript 编译器可使用该语法对代码进行类型检查,然后输出清晰易读的 JavaScript。静态类型检查的优点是,开发人员可以在运行代码或保存文件之前看到代码中的错误。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。