内容简介: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构建策略
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
在你身边,为你设计
腾讯公司用户研究与体验设计部 / 电子工业出版社 / 2013-1 / 69.00元
设计属于所有人,也意在为所有人使用,这既是设计的价值,也是设计的责任。本书内容包括:设计理念、设计方法、用户研究、体验设计、设计流程和工具,以及团队成长与管理等方面的知识与经验分享。一起来看看 《在你身边,为你设计》 这本书的介绍吧!