TypeScript 3.5 发布,新增Omit 辅助类型


昨天,TypeScript项目经理Daniel Rosenwasser宣布推出TypeScript 3.5。这个版本在编译器和语言,编辑器工具,以及一些重大变化方面都有很多新增功能。一些关键功能包括速度改进,Omit 辅助类型,改进的多余属性检查等。早期 TypeScript 3.4的版本是在两个月前发布的。

编译器和语言

速度提升

自上一版本发布以来,Typescripts团队一直专注于优化某些代码路径并剥离某些功能。这导致TypeScript 3.5比TypeScript 3.3更快,用于许多增量检查。与3.4相比,TypeScript 3.5的编译时间也有所下降,但是用户已经收到警告,代码完成和任何其他编辑器操作都会更加“快速”。此版本还包括对编译器设置的几种优化,例如查找文件的原因,找到文件的位置等。还发现在TypeScript 3.5中,与TypeScript 3.4相比,重建的时间可以减少68%。

'Omit'助手类型

通常,用户创建一个省略某些属性的对象。在TypeScript 3.5中,定义了新版本的“Omit”。它将包含自己的lib.d.ts,可以在任何地方使用。编译器本身将使用此“Omit”类型来表示通过对象休息创建的类型,对泛型进行解构声明。

改进了联合类型中的多余属性检查

TypeScript具有对象文字中多余属性检查的功能。在早期版本中,即使在Point和Label之间不匹配,也允许在对象文字中使用某些多余的属性。在这个新版本中,类型检查器将验证所有提供的属性是否属于某个联合成员并具有适当的类型。

-allowUmdGlobalAccess标志

在TypeScript 3.5中,您现在可以引用UMD全局声明,例如export as namespace foo。通过使用新的-allowUmdGlobalAccess标志,可以在任何地方甚至模块中实现。

更智能的联合类型检查

检查联合类型时,TypeScript通常会单独比较每种组成类型。 在将源分配给目标时,通常涉及检查源的类型是否可分配给目标。 在TypeScript 3.5中,当分配具有T中的判别属性的类型时,语言实际上会更进一步,并将类似S的类型分解为每个可能的居民类型的并集。 这在以前的版本中是不可能的。

来自通用构造函数的高阶类型推断

TypeScript 3.4的推理允许newFn是通用的。 在TypeScript 3.5中,此行为也被广义化以处理构造函数。 这意味着在某些UI库(如React)中对类组件进行操作的函数可以更正确地对泛型类组件进行操作。

要阅读TypeScript 3.5的更多详细信息,请访问官方公告。

使用TypeScript开发React Native应用示例教程  https://www.linuxboy.net/Linux/2019-05/158790.htm

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-05/158884.htm

相关内容