Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性

TypeScript 4.0 现已正式发布,该版本没有重大的突破性变化 。TypeScript 团队表示新版本继续使用与过去版本相似的版本控制模型,可将 4.0 视作 3.9 的延续升级版本 。而且他们也一直在追求不牺牲主要灵活性的情况下,提供一个最大限度减少 breaking changes 的升级路径 。
访问:
微软中国官方商城 - 首页
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

(来自:Microsoft)
事实上,如果你是这个语言的新手,现在是开始使用它的最好时机 。社区已经在这里了,而且还在增长,有工作代码和伟大的新资源可以学习 。有一点要记住:尽管我们在 4.0 中带来了所有的好东西,但你真的只需要知道 TypeScript 的基础知识就可以了 。
4.0 版本的主要更新内容如下:

● 可变参数元组类型
● 标记的元组元素
● 构造函数的类属性推断
● 短路分配运算符
● catch 子句中的unknown
● 定制 JSX 工厂
● 带--noEmitOnError参数build模式下的速度提升
● --incremental with --noEmit
● 编辑器改进
○ 转换为可选链接
○ 支持/** @deprecated */
○ 启动时的部分编辑模式
○ 更智能的自动导入
● Breaking Changes
构造函数的类属性推断
当 noImplicitAny 被启用时,TypeScript 4.0 现在可以使用控制流分(control flow analysis)析来确定类中的属性类型 。
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

如果并非将构造函数的所有路径都分配给实例成员,则该属性可能被视为undefined 。
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

在更清楚的情况下(例如具有某种initialize方法),如果位于strictPropertyInitialization中,可能会需要显式类型注释以及定值赋值断言(!)
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

短路分配运算符
JavaScript 和其他很多语言都支持复合赋值运算符 。复合赋值运算符将一个运算符应用到两个参数上,然后将结果赋值到左边 。如下:
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

JavaScript 中的许多运算符都有一个对应的赋值运算符,但有三个例外:逻辑和(&&)、逻辑或(||),以及空值合并(??) 。
TypeScript 4.0 为上述三个运算符增加了对应的赋值运算符支持:
Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性
文章图片

【Microsoft|微软发布TypeScript 4.0 改进性能与可伸缩性】详情可查看发布公告 。


    推荐阅读