TypeScript 3.5修复了“难以忍受的缓慢”类型检查错误

TypeScript 3.5是Microsoft流行JavaScript类型化超集的最新版本,现已在生产版本中提供。 该更新增加了类型检查的优化,解决了TypeScript 3.4引入的严重速度下降问题。

借助TypeScript 3.5,Microsoft的TypeScript开发团队专注于优化代码路径并剥离某些功能以加快TypeScript的速度。 与TypeScript 3.4相比,编译时间有所减少; TypeScript开发人员指出 ,代码完成和其他编辑器操作也应该“更加精巧”。

[Microsoft .Net 5将.Net Framework和.Net Core结合在一起:了解.Net Standard和.Net Core的合并对开发人员意味着什么 | 从InfoWorld的Microsoft Architect博客中了解如何从.Net Framework和.Net Core中获得最大收益。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

在进行这些优化时,TypeScript团队试图修补TypeScript 3.4中引入的回归,这可能导致类型检查器进行更多工作并增加类型检查时间。 回归是严重的,因为除了导致更长的构建时间之外,TypeScript和JavaScript用户的编辑器操作变得“难以忍受的缓慢”。 受影响最大的是使用样式组件库的开发人员。

TypeScript 3.5的其他改进包括:

  • 缓存优化会影响incremental编译器选项,从而减少了重建时间。
  • 一个lib.d.ts声明文件,用于提供Omit助手类型。 编译器将使用此类型来表示通过对泛型进行对象剩余结构分解而创建的类型。
  • 改进了联合类型中的多余属性检查。 多余的属性检查旨在在类型不期望特定属性时查找拼写错误。 在TypeScript 3.5中,类型检查器验证所有提供的属性都属于某个联合成员并具有适当的类型。
  • 当分配具有可区分属性的类型时,该语言会将类型分解为每种可能的居民typescript类型的并集。 这提供了更智能的类型检查。
  • 使用allowUmdGlobalAccess标志引用UMD(通用模块定义)全局声明。
  • 来自泛型构造函数的高阶类型推断。
  • Smart Select功能提供了一种API,供编辑者以句法感知的方式向外扩展文本选择,而编辑者知道要扩展到的构造。 编辑人员不必使用大括号匹配之类的启发式方法。 开发人员现在可以期望像Visual Studio Code这样的编辑器中的选择扩展可以正常工作。
  • 一种新的重构将类型提取到本地别名。
  • TypeScript 3.5包含一些重大更改,例如约束为unknown通用类型参数。

您可以从NuGet或使用以下NPM命令下载TypeScript 3.5发行候选版:

npm install -g typescript

From: https://www.infoworld.com/article/3397076/typescript-35-fixes-unbearably-slow-type-checking-bug.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值