TypeScript 3.4 正式发布!
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的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 为什么继承 Python 内置类型会出问题?!
- Python到底是强类型语言,还是弱类型语言?
- Python 3.10 的首个 PEP 诞生,内置类型 zip() 将迎来新特性
- Python 3.9 性能优化:更快的 list()、dict() 和 range() 等内置类
- 从Excel的数据类型说Python
- 怎样在JavaScript中创建和填充任意长度的数组 [每日前端夜话0x29
- 一文学懂 TypeScript 的类型 [每日前端夜话0x39]
- 介绍几款 Python 类型检查工具
- 为什么range不是迭代器?range到底是什么类型?