内容简介:TypeScript 4.6 首个 RC 版本已发布。 新特性概览 支持在super()前执行构造函数代码 面向 Destructured Discriminated Unions(可辨识联合类型)提供控制流分析 优化递归深度检查 (Recursion Depth Checks) 优化索...
TypeScript 4.6 首个 RC 版本已发布。
新特性概览
- 支持在
super()
前执行构造函数代码 - 面向 Destructured Discriminated Unions(可辨识联合类型)提供控制流分析
- 优化递归深度检查 (Recursion Depth Checks)
- 优化索引访问类型 (Indexed Access Inference) 的推导
- 面向 Dependent Parameters(依赖参数类型)提供控制流分析
--target es2022
- 对 JavaScript 文件引入更多语法检查
- 引入新的性能分析工具:TypeScript Trace Analyzer
- 破坏性变更
此特性允许在 super 调用前去执行没有引用 this 的代码,这是由于 JavaScript 的限制,super 前不能调用 this,TypeScript 之前出于实现的原因,规定不能执行所有代码。
示例
class Base {
// ...
}
class Derived extends Base {
someProperty = true;
constructor() {
// error!
// have to call 'super()' first because it needs to initialize 'someProperty'.
doSomeStuff();
super();
}
}
新的性能分析工具:TypeScript Trace Analyzer
TypeScript 提供了--generateTrace
flag 来生成编译器在本次编译工作中的耗时占比,或者用于诊断 TypeScript 编译器的问题。虽然--generateTrace
生成了有价值的信息,但在现有的跟踪可视化 工具 中阅读效果不好。
最近发布的 TypeScript Trace Analyzer 可更直观、更清晰地展示报告。详情点此查看。
--target es2022
TypeScript 的--target
选项已支持es2022
。
这意味着像类字段 (class fields) 这样的特性现在会有一个可以保留的稳定输出 target,亦意味着可使用新的内置功能如 :at()
method on Array
s, Object.hasOwn
和 the cause
option on new Error
。
延伸阅读:ECMAScript 2022 预览
这是 4.6 版本的主要特性,在 TypeScript 中引入的 JavaScript 文件,现在会提示其语法错误,如重复声明、对 export 声明使用了修饰符、在 switch case 语句出现多次的 default case 等。类似于 TypeScript 文件,可通过@ts-nocheck
来禁用对此文件的类型检查。
示例
const foo = 1234;
// ~~~
// error: Cannot redeclare block-scoped variable 'foo'.
// ...
const foo = 5678;
// ~~~
// error: Cannot redeclare block-scoped variable 'foo'.
function container() {
export function foo() {
// ~~~~~~
// error: Modifiers cannot appear here.
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。