内容简介:TypeScript 3.6 Beta 已发布,团队表示希望此测试版本有望成为 TypeScript 3.6 的完整功能版本。此外,在接下来的几周内,团队会为 RC 版以及稳定版的发布继续修复错误并提升性能和稳定性。 可通过 NuGet 体验测试...
TypeScript 3.6 Beta 已发布,团队表示希望此测试版本有望成为 TypeScript 3.6 的完整功能版本。此外,在接下来的几周内,团队会为 RC 版以及稳定版的发布继续修复错误并提升性能和稳定性。
可通过 NuGet 体验测试版,或使用 npm 进行获取:
npm install -g typescript @ beta
下面继续看看此版本值得关注的新功能。
使用更严格的生成器(Stricter Generators)
TypeScript 3.6 引入了对迭代器和生成器函数(generator functions)的更严格检查。在早期版本中,生成器的使用者无法区分一个值是来自 yield 操作或是从生成器返回。
function* foo() {
if (Math.random() < 0.5) yield 100;
return "Finished!"
}
let iter = foo();
let curr = iter.next();
if (curr.done) {
// TypeScript 3.5 and prior thought this was a 'string | number'.
// It should know it's 'string' since 'done' was 'true'!
curr.value
}
此外,生成器会假设 yield 的类型始终为 any。
function* bar() {
let x: { hello(): void } = yield;
x.hello();
}
let iter = bar();
iter.next();
iter.next(123); // oops! runtime error!
以第一段代码为例,在 TypeScript 3.6 中,检查器会知道 curr.value 的正确类型应为 string,并在最后一个示例中纠正对 next() 的错误调用。这要归功于因在Iterator
和IteratorResult
类型声明中进行的一些更改而引入部分新的类型参数,以及 TypeScript 用于代表称为Generator
类型的生成器。
Improved UX Around Promises
Promise
是目前使用异步数据的最常用方法之一。不幸的是,使用Promise
面向对象的 API 通常会让使用者感到困惑。因此针对Promise
被错误处理的情况,TypeScript 3.6 引入了一些改进。
例如,在将其传递给另一个函数之前,Promise
忘记.then()
或者await
内容通常是很常见的。TypeScript 的错误消息现在是专用的,并告知使用者他们可能应该考虑使用await
关键字。
interface User {
name: string;
age: number;
location: string;
}
declare function getUserData(): Promise<User>;
declare function displayUser(user: User): void;
async function f() {
displayUser(getUserData());
// ~~~~~~~~~~~~~
// Argument of type 'Promise<User>' is not assignable to parameter of type 'User'.
// ...
// Did you forget to use 'await'?
}
未来计划
TypeScript 3.6 稳定版暂定于8月底发布,团队表示会在稳定版发布几周前推出候选版本。
以上所述就是小编给大家介绍的《TypeScript 3.6 Beta 发布,稳定版定于8月底推出》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 第九章:特定于平台的API调用(四)
- 第九章:特定于平台的API调用(三)
- Ubuntu 19.10 Beta 发布,正式版本定于 10 月份
- Ubuntu 19.04 Beta 发布,正式版定于 4 月
- Debian GNU / Linux 10 Buster 定于7月6日发布
- 稳定与非稳定版本软件的Docker Image构建策略
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
Mark Allen Weiss / 冯舜玺 / 电子工业出版社 / 2016-8 / 89.00元
本书是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书中内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书把算法分析与C++程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。一起来看看 《数据结构与算法分析》 这本书的介绍吧!