在两周前发布TypeScript 3.3 RC之后,昨天微软宣布了TypeScript 3.3的可用性。TypeScript 3.3不包含任何突破性的变化,是一个比通常更小的版本。
Typescript 3.3有什么新东西
调用union类型时的更好行为
当存在union类型A | B时,TypeScript现在允许用户访问A和B共有的所有属性。例如,成员的交集。只有知道联合类型在每个联合类型中都存在时,才能从联合类型获得属性。当每种类型只有一个具有相同参数的签名时,情况就正常了。这样的限制太多了,在某些方面存在错误。因此,在TypeScript 3.3中,博客中显示的以下代码将起作用:
type Fruit = "apple" | "orange";
type Color = "red" | "orange";
type FruitEater = (fruit: Fruit) => number; // eats and ranks the fruit
type ColorConsumer = (color: Color) => string; // consumes and describes the colors
declare let f: FruitEater | ColorConsumer;
f("orange"); // It works! Returns a 'number | string'.
f("apple"); // error - Argument of type '"apple"' is not assignable to parameter of type '"orange"'.
f("red"); // error - Argument of type '"red"' is not assignable to parameter of type '"orange"'.
以上签名的参数“intersected”以创建新签名。当不可能的交叉点消失后,剩下的就是“orange”和“orange”,而“orange”就是“orange”。这并不是说没有限制。只有当联合中只有一种类型具有多个重载和泛型签名时,新行为才是活动的。forEach方法现在是可调用的,但是在noImplicitAny下可能存在一些问题。
-build -watch使用增量文件监视
在TypeScript 3.3中,-build模式的-watch标志利用增量文件监视。这样可以显着加快构建速度,在原始构建时间的构建时间内减少50%到75%。
Sublime Text支持JavaScript编辑
Sublime Text的TypeScript插件现在支持在JavaScript文件中进行编辑。现在,用户可以使用JSDoc并与TypeScript代码进行互操作的JavaScript代码获得更准确的完成,重命名,定义以及更多内容。
Typescript最近公布了2019年1月至2019年6月的“TypeScript路线图”,其中概述了该团队将在未来6个月内关注的重点。
更多信息
使用Visual Studio Code开发TypeScript http://www.linuxidc.com/Linux/2015-07/119456.htm
WebStorm下使用TypeScript http://www.linuxidc.com/Linux/2015-06/118853.htm
TypeScript 基本语法 http://www.linuxidc.com/Linux/2015-06/118852.htm
TypeScript 的详细介绍:请点这里
TypeScript 的下载地址:请点这里
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-02/156679.htm