微软 TypeScript 4.0 正式版发布
TypeScript 4.0 现已正式发布,该版本没有重大的突破性变化。TypeScript 团队表示新版本继续使用与过去版本相似的版本控制模型,可将 4.0 视作 3.9 的延续升级版本。而且他们也一直在追求不牺牲主要灵活性的情况下,提供一个最大限度减少 breaking changes 的升级路径。 事实上,如果你是这个语言的新手,现在是开始使用它的最好时机。社区已经在这里了,而且还在增长,有工作代码和伟大的新资源可以学习。有一点要记住:尽管我们在 4.0 中带来了所有的好东西,但你真的只需要知道 TypeScript 的基础知识就可以了。 4.0 版本的主要更新内容如下: 可变参数元组类型 标记的元组元素 构造函数的类属性推断 短路分配运算符 catch 子句中的 unknown 定制 JSX 工厂 带 --noEmitOnError 参数 build 模式下的速度提升 --incremental with --noEmit 编辑器改进 转换为可选链接 支持 /** @deprecated */ 启动时的部分编辑模式 更智能的自动导入 Breaking Changes 构造函数的类属性推断 当 noImplicitAny 被启用时,TypeScript 4.0 现在可以使用控制流分 (control flow analysis)析来确定类中的属性类型。 class Square { // Previously: implicit any! // Now: inferred to `number`! area; sideLength; constructor(sideLength: number) { this.sideLength = sideLength; this.area = sideLength ** 2; }}如果并非将构造函数的所有路径都分配给实例成员,则该属性可能被视为 undefined。 class Square { sideLength; constructor(sideLength: number) { if (Math.random()) { this.sideLength = sideLength; } } get area() { return this.sideLength ** 2; // ~~~~~~~~~~~~~~~ // error! Object is possibly 'undefined'. }}在更清楚的情况下(例如具有某种 initialize 方法),如果位于 strictPropertyInitialization 中,可能会需要显式类型注释以及定值赋值断言 (!) class Square { // definite assignment assertion // v sideLength!: number; // ^^^^^^^^ // type annotation constructor(sideLength: number) { this.initialize(sideLength) } initialize(sideLength: number) { this.sideLength = sideLength; } get area() { return this.sideLength ** 2; }}短路分配运算符 JavaScript 和其他很多语言都支持复合赋值运算符。复合赋值运算符将一个运算符应用到两个参数上,然后将结果赋值到左边。如下: / Addition// a = a + ba += b;// Subtraction// a = a - ba -= b;// Multiplication// a = a * ba *= b;// Division// a = a / ba /= b;// Exponentiation// a = a ** ba **= b;// Left Bit Shift// a = a << ba <<= b;JavaScript 中的许多运算符都有一个对应的赋值运算符,但有三个例外:逻辑和 (&&)、逻辑或 (||),以及空值合并 (??)。 TypeScript 4.0 为上述三个运算符增加了对应的赋值运算符支持: let values: string[];// Before(values ?? (values = [])).push("hello");// After(values ??= []).push("hello");a ||= b;// actually equivalent toa || (a = b);详情可查看发布公告。 |
-
内容提要:产生于明代松江府的顾绣,是我国历史上最著...[详细]
-
内容提要:进入7月,如梦似幻的马鞭草花海再现滨城,...[详细]
-
建党百年,改天换地;丰功伟业,惊天动地;万民景...[详细]
-
内容提要:伴着欢快的乐曲,习近平同“七一勋章”获得...[详细]
-
IT之家6月29日消息 网易吃鸡大作《永劫无间》官方今天...[详细]
-
6月29日消息,AppleTV+今天宣布,其高预算科幻剧集《...[详细]
-
IT之家6月28日消息 据Valve消息,截止到2021年6月27日...[详细]
-
这是一场举办在金色「沙漠」中的时装秀,模特缓缓从塔...[详细]
-
6月15日,著名歌手张靓颖现身上海迪士尼五周年庆...[详细]
-
IT之家6月19日消息五菱汽车今天发布了夏季焕新颜丨宏...[详细]