TypeScript 3.4 带来了一些重要的更新和有趣的新功能,其中包括名为 --incremental 的新标志,高阶类型推断等等。
我们来看一下。

新功能

更快的持续构建 —— 使用 --incremental标志告诉 TypeScript 保存上次编译中有关项目的信息。下次使用 --incremental 调用 TypeScript 时,它会用这些信息以最小的代价进行检测类型检查。

来自泛型函数的高阶类型推断 —— 在调用返回函数类型的泛型函数的类型参数推断期间,TypeScript 将会(视情况而定)从泛型函数参数把类型参数传递给函数返回值类型。

对只读数组和只读元组的改进 —— 使用只读数组类型更容易一些:

  • 只读数组的新语法:使用新的数组类型的 readonly 修改器。
1function foo(arr: readonly string[]) {2    arr.slice();        // okay3    arr.push("hello!"); // error!4}
  • 只读元组:对 readonly 元组的新支持。我们可以用 readonly 关键字为任何元组类型添加前缀,使其成为 readonly 元组,就像用数组的简写语法一样。

  • readonly 映射类型修饰符和 readonly数组:会自动把类数组类型转换为相应的 readonly 对应项。

const断言—— 为字面量引入一个名为 const 断言的新构造。它的语法是用 const 代替类型名称的类型断言(例如123 as const)。当你使用 const 断言构造新的表达式时,可以给语言发出下面这些信号:

  • 该表达式中的字面量类型不应被加宽(例如,不要从 “hello” 到 string)

  • object 字面量获得 readonly 属性

  • array 字面量成为 readonly 元组

对globalThis的类型检查 —— 对ECMAScript 的 globalThis 类型检查的新支持 —— 一个全局变量,它指的是全局范围。globalThis 提供了一种访问全局范围的标准方法,可以在不同环境中使用。

将参数转换为解构对象—— 实现了一个新的重构,将现有函数转换为使用此“命名参数”模式。在存在多个参数的情况下,TypeScript 将提供重构以将参数列表转换为单个解构对象。

可以到官方发布说明了解有关 TypeScript 3.4 所有新功能的更多信息。

[https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/#convert-parameters-to-destructured-object]

虽然 TypeScript 团队尽可能避免引入重大更改,但是这个版本还是有一些更改,所以请务必查看这里[https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes]。

©著作权归作者所有:来自51CTO博客作者mb5ff980b461ced的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 为什么继承 Python 内置类型会出问题?!
  2. Python到底是强类型语言,还是弱类型语言?
  3. Python 3.10 的首个 PEP 诞生,内置类型 zip() 将迎来新特性
  4. Python 3.9 性能优化:更快的 list()、dict() 和 range() 等内置类
  5. 从Excel的数据类型说Python
  6. 怎样在JavaScript中创建和填充任意长度的数组 [每日前端夜话0x29
  7. 一文学懂 TypeScript 的类型 [每日前端夜话0x39]
  8. 介绍几款 Python 类型检查工具
  9. 为什么range不是迭代器?range到底是什么类型?

随机推荐

  1. Apache+PHP 配置随笔
  2. Contenteditable / Jquery / Ajax / PHP
  3. 有没有办法在PDO中设置默认游标类型(特别
  4. 如何在数组中存储产品数量
  5. Jquery无刷新编辑——简单篇
  6. php 从指定数字中获取随机组合的方法
  7. json_decode无法在php中运行
  8. 来自多个文件的相同元素DomDocument load
  9. 获取最近7天的一周中的哪一天?
  10. CakePHP2 Request请求对象中文教程