TypeScript 4.2 Beta 发布

栏目: 软件资讯 · 发布时间: 4年前

内容简介:TypeScript 4.2 Beta 已发布。 获取方法 通过 NuGet 或使用以下 npm 命令进行获取: npm install typescript@beta 还可以在编辑器中通过以下方式获得: 下载适用于 Visual Studio 2019/2017 的版本 下载适用于 ...

TypeScript 4.2 Beta 已发布。

获取方法

通过 NuGet 或使用以下 npm 命令进行获取:

npm install typescript@beta

还可以在编辑器中通过以下方式获得:

下面简单介绍 TypeScript 4.2 的新功能。

  • 元祖类型的 Rest 元素支持放置在元组中的任何位置

在以前的版本中,TypeScript 仅允许 rest 元素位于元组类型的最后位置,但现在 rest 元素可以在元组中的任何位置出现,唯一的限制是只要它后面没有其他可选元素或 rest 元素即可。换句话说,每个元组仅一个 rest 元素,rest 元素之后没有可选元素。

let foo: [...string[], number];

foo = [123];
foo = ["hello", 123];
foo = ["hello!", "hello!", "hello!", 123];

let bar: [boolean, ...string[], boolean];

bar = [true, false];
bar = [true, "some text", false];
bar = [true, "some", "separated", "text", false];
  • 更智能地保留类型别名
  • 模板字面量表达式已具有模板字面量类型

TypeScript 4.1 引入了一种新的类型:模板字面量类型 (template literal types)。此类型能够对字符串的特定模式进行建模。

type GreetingStart = "hello" | "hi" | "sup";

declare function greet(str: `${GreetingStart} ${string}`): void;

// Works.
greet("hello world!");

// Works.
greet("hi everybody!");

// Error!
// Doesn't work with any of the patterns:
//   `hello ${string}` | `hi ${string}` | `sup ${string}`
greet("hallo yes hi sup");

但在 4.1 中,模板字符串类型和模板字符串表达式之间存在一些奇怪的不一致地方。这是因为模板字符串表达式无法与新的模板字符串类型兼容。

因此在 TypeScript 4.2 中,模板字符串表达式现在总是以模板字面量类型开始。

  • 为 in 运算符执行更严格的检查
  • 放宽可选属性和字符串索引签名之间的规则
  • 声明缺失的辅助功能

详细内容查看发布公告


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编译原理

编译原理

Alfred V.Aho、Jeffrey D.Ullman、Ravi Sethi / 李建中 / 机械工业出版社 / 2003-8 / 55.00元

《编译原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。《编译原理》 是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。《编译原理》一 直被世界各地的著名高等院校和科研机构(如贝尔实验室、哥伦比亚大学、普 林斯顿大学和斯坦福大学等)广泛用作本科生和研究生编译原理......一起来看看 《编译原理》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具