新发布的 TypeScript 3.5 RC 作出的改进和优化[每日前端夜话0x71]
在2019年5月16日,微软宣布推出最新的Ty peScript 版本候选版本:3.5 RC 。此版本修复了以前的一些问题,引入了新的改进、性能优化、并添加了一些功能。
TypeScript 最近在 ThoughtWorks技术雷达报告(https://jaxenter.com/technology-radar-april-2019-158228.html)中的排行上升,根据 RedMonk 的季度报告,已经获得了大量的人气。
现在让我们去看看有什么新功能和改进。
编译速度不再缓慢
此版本修复了以前导致构建时间大幅减慢的问题。 3.5 RC 优化了代码路径,提高了速度和缩短编译时间。
从微软官方发布的公告得知:
我们的类型系统来了成本 ——我们期望编译器所做的工作需要被转换为更长的编译时间。不幸的是,为了修复 TypeScript 3.4 中的某些错误,我们意外地引入了一个回归,这可能会导致类型检查器的工作量增加,从而延长了类型检查的时间。那些使用样式组件库的用户受到的影响最大。这种回归非常严重,不只是因为它导致 TypeScript 代码的构建时间被大大延长了,更严重的是使程序员在使用编辑器编写 TypeScript 和 JavaScript 代码时变得无法忍受。
开发团队建议开发人员进行升级,并希望用户能够反馈此优化是否解决了之前 v3.4 的速度问题。根据开发团队的说法,这种优化使当前版本比以前更快。
新增内容
TypeScript 3.4 候选版本添加了几个可能会在最终版本中新增的内容:
Omit 辅助类型:以前,用户通过自己去定义 Omit 来省略对象中的某些属性。 用户在GitHub上的需求反馈(https://github.com/Microsoft/TypeScript/pull/30552)要求将此功能添加到新版本中,并且要求 TypeScript 用 Omit 对象来替代 Pick<T, Exclude<keyof T, "a" | "b">> 。下面是一个新的助手类型的实例:
额外属性检查功能更改:额外属性检查功能会对之前允许的但是现在不允许的不正确的属性进行修改。现在属性将对确认的有效性进行验证。
新的 —allowUmdGlobalAccess 标志:从 “anywhere – even modules” 引用 UMD 全局声明。
联合类型的修改检查:有关详细信息,请参阅需求反馈“Relate source types covered by a target discriminated union”(https://github.com/microsoft/TypeScript/pull/30779)。
- 为构造函数的高阶推断添加了支持:新的被改进的推理。 在GitHub上的需求反馈(https://github.com/microsoft/TypeScript/pull/31116) 详细介绍了这项更新的用途。
发布候选版本还有许多破坏性的变化需要注意。确保升级到新的候选版本后不会破坏你的代码!
更新到3.5RC
可以通过 NuGet (https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild) 找到最新版本。
由于这是候选版本,开发团队正在等待早期的反馈并处理潜在问题。可以通过提供相关评论来帮助他们对最终版本确保无误。
此外,根据开发团队的说法,TypeScript 3.5 应该在2019年5月底发布!
©著作权归作者所有:来自51CTO博客作者mb5ff980b461ced的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 使用类型注解让 Python 代码更易读
- 用数据分析大家最喜欢什么类型的抖音视频。
- JavaScript 中的强制类型转换[每日前端夜话0x4F]
- 为什么继承 Python 内置类型会出问题?!
- Python到底是强类型语言,还是弱类型语言?
- Python 3.10 的首个 PEP 诞生,内置类型 zip() 将迎来新特性
- Python 3.10 版本采纳了首个 PEP,中文翻译即将推出
- Python 3.9 性能优化:更快的 list()、dict() 和 range() 等内置类
- Python 如何移除旧的版本特性,如何迎接新的特性?