微软发布正式版本,引入类型和改进?微软发布的系统?11 月 17 日,微软发布 TypeScript 4.5 正式版本,本次更新,带来大幅功能更新和性能改进,包括引入 Awaited 类型和 Promise 改进,用于增强异步编程、引入 es2022 模块、支持 Import 断言等。具体更新内容如下:。Awaited 类型与 Promise 改进在此前的版本中,要获取 Promise 的返回类型,必须使用 infer 功能,如下所示:。模板字符串可以用作判断符:TypeScript 4.5 现在可以缩小具有模板字符串类型的值,并且还将模板字符串类型识别为判别式。
11月17日,微软发布了TypeScript 4.5正式版。此次更新带来了巨大的功能更新和性能改进,包括引入了等待的类型和承诺改进,用于增强异步编程,引入es2022模块,并支持导入断言。更新的具体内容如下:
期待的类型和承诺的改进
在以前的版本中,要获得Promise的返回类型,必须使用infer函数,如下所示:
复制代码
Type4.5引入了一个新的实用程序类型:等待类型。您不需要像上面的Unwarp那样自定义映射类型,例如:
type resultUnwrapType=Awaited
复制代码
该工具还具有以下功能:
递归解包
不依赖承诺会更稳健。
随着等待,超载被添加到承诺。所有,承诺。种族,承诺。所有解决和承诺。任何
下面是一些不同的用例。
复制代码
夜间版本支持在Node.js中运行ECMAScript模块。
Node.js的模块基础一直是CommonJS。随着多态应用的转型,对支持ECMAScript模块的要求越来越高。在过去的几年里,Node.js一直在努力支持运行ECMAScript模块。自从Node.js 12发布以来,对ES模块的支持已经非常广泛。
es模块带来了什么?
使用导入/导出语句语法
顶级await可以与nodenext一起使用。
因为现在有不同的模块策略,es模块需要一个完整的文件扩展名来导入:import fade from。/utils.js
一些全局关键字,如require,在ES模块上不起作用。
CommonJS将翻译ES特性,比如导入/导出语法。
目前,该功能仅在TypeScript夜间版本中可用。
Node_modules支持库
为了确保TypeScript和JavaScript能够开箱即用,TypeScript捆绑了一系列声明文件(。d .ts文件)。这些声明文件表示JavaScript语言和标准浏览器DOM API中可用的API。尽管根据文件目标有一些合理的默认值,但是您可以通过在tsconfig.json中配置lib设置来选择程序使用哪些声明文件
TypeScript 4.5引入了一种重写特定内置库的方法,类似于@types/support的工作方式。当决定TypeScript应该包含哪些lib文件时,它将首先在node_modules中查找一个限定了作用域的@typescript/lib-*包。例如,当dom选项包含在lib中时,TypeScript使用node _ modules/@ TypeScript/lib-DOM中的类型。
然后可以安装一个特定的包来接管给定的库。例如,TypeScript现在在@types/web上发布DOM API版本。如果您想将项目锁定到特定版本的DOM API,可以将它添加到您的package.json:
复制代码
从TypeScript 4.5开始,依赖于管理器的lockfile确保使用的DOM类型的版本完全相同。
其他功能:
es2022模块简介:TypeScript现在支持新的模块设置:es2022。es2022模块的主要功能是顶级await,这意味着开发人员可以在异步功能之外使用await。esnext模块(现在是nodenext模块)已经得到支持,但是es2022是该功能的第一个稳定目标。
模板可以用作判别式:TypeScript 4.5现在可以用模板字符串类型缩小值的范围,还可以将模板字符串类型识别为判别式。
新的代码片段完成:TypeScript 4.5带来了两个新的代码片段完成,它们添加了一些默认文本,并允许开发人员通过标记查看他们想要调整的代码片段。
对导入断言的支持:TypeScript 4.5支持ECMAScript关于导入断言的建议,这是运行时用来确保导入具有预期格式的语法。
私有字段检查:开发人员现在可以用#private field成员编写一个类,并使用in操作符来查看另一个对象是否有相同的字段,这可以用来检查对象上是否有私有字段。
JSDoc中的常量断言和默认类型参数
加载时间更快:在所有系统的Node.js中引入realpathSync.native函数,减少项目加载时间(Windows中减少5-13%)。
更好的编辑器支持:将直接显示未解析类型的原始名称(以前的版本使用any而不是未解析类型)。
参考链接:
https://dev blogs . Microsoft . com/typescript/announcing-typescript-4-5/
本文来自网络,不代表「专升本要什么条件_专升本要几年_成人高考专升本_山东专升本信息网」立场,转载请注明出处:http://www.sdzsb8.cn/zsxx/19463.html