加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

有哪些新特性?

发布时间:2021-04-20 15:58:45 所属栏目:外闻 来源:互联网
导读:eScript 4.2 发布了!对于不熟悉 TypeScript 的人来说,TypeScript 就是增加了静态类型和类型检查的 JavaScript。有了类型限制,你就可以精确的表达你的函数需要什么类型的参数以及返回什么类型的结果。 同时,利用 TypeScript 的类型检查,你可以很容易避免

eScript 4.2 发布了!对于不熟悉 TypeScript 的人来说,TypeScript 就是增加了静态类型和类型检查的 JavaScript。有了类型限制,你就可以精确的表达你的函数需要什么类型的参数以及返回什么类型的结果。

同时,利用 TypeScript 的类型检查,你可以很容易避免一些常见错误,例如拼写错误或者忘记处理 null 和 undefined。因为 TypeScript 代码看起来就像是增加了类型的 JavaScript,所以你对 JavaScript 所知的一切知识依然适用于 TypeScript。在需要的时候,你也可以剥离类型,从而获得纯净、可读并且在任何地方可以运行的 JavaScript 代码。如果你想深入了解 TypeScript , 你可以访问这个网站[1]。们预览一下 TypeScript 4.2 的新特性:

  •  更智能的类型别名保持
  •  元组类型中的前置/中置的扩展元素
  •  更严格的 in 运算符检查
  •  --noPropertyAccessFromIndexSignature
  •  抽象构建签名
  •  通过 --explainFiles 了解你的项目结构
  •  改进逻辑表达式中非执行函数的检查
  •  可以将解构变量明确标记为未使用
  •  在可选属性和字符串索引签名之间宽松的规则
  •  声明缺少的帮助函数
  •  破坏性变化

更智能的类型别名保持

TypeScript 有一种方式可以声明新的类型叫做类型别名。如果你写了一系列函数可以处理 string | number | boolean 三种类型的数据,那么你可以定义一个类型别名,用于避免重复工作:在TypeScript 运行环境[4]中观察发生了什么。尽管我们希望看到 TypeScript 展示的 doStuff 返回值类型是 BasicPrimitive | undefined,但是实际情况是,显示的返回值类型为 string | number | boolean | undefined!这是怎么回事?

这要归因于 TypeScript 内部对于类型的解析方式。当创建了一个联合类型包含一个或多个其他的联合类型时,TypeScript 会将这些类型归一化为一个新的扁平的联合类型 —— 此时,原本类型的信息就丢失了。类型检查器将会查找 string | number | boolean | undefined 每种组合是否具有类型别名,即使这样,仍可能会得到多个 string | number | boolean 类型别名的结果。

在 TypeScript 4.2 中,我们的内部逻辑将更加智能。我们会通过保留类型的原始定义以及后续对其的更新,从而持续追踪该类型的构造变化。我们同时也会追踪被键入其他类型别名实例的类型别名,并加以区分。

能够根据你在代码中使用的方式打印出这些类型,意味着对于 TypeScript 使用者来说,可以避免看到那些令人厌恶的巨型类型定义;并且这种方式可以帮助转化出更优质的 .d.ts 文件输出、错误信息以及在编辑器中对变量展示的快速信息和帮助等。

更详细的内容,可以查阅改进保留实例间联合和相交类

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读