TypeScript 4.4 beat版本发布
前不久 TS 发布 4.4 的 beat 版本:
到底 4.4 的版本中有哪些 features,我们可以参考下面的:
链接:点击这里
里面大致描述 4.4 版本发布的流程,预计 8 月底发布正式版本。
主要更新内容:
- 提供针对
Aliased Conditions
的控制流分析 (Control Flow Analysis
) - 增加
symbol
类型和模板字符串模式的索引签名 Catch
语句中默认使用unknown
类型 (--useUnknownInCatchVariables
)- 新增
Exact Optional Property
类型 (--exactOptionalPropertyTypes
) - 针对
tsc --help
的升级和改进 - 性能改进
- 添加针对 JavaScript 的拼写建议
- 新增实验性的
Inlay
提示 - 破坏性变更
比如,我们拿出一个例子来看。
Catch 语句中默认使用 unknown 类型
经常写 JavaScript 都知道,任何类型的值都可以通过throw
抛出后,在catch
语句中捕获到,那么 TypeScript 中是如何做统一的呢,
其实经常写 TS 的都知道,很早的版本中,ts 会将变量转化为 any:
try { // Who knows what this might throw... executeSomeThirdPartyCode(); } catch (err) { // err: any console.error(err.message); // Allowed, because 'any' err.thisWillProbablyFail(); // Allowed, because 'any' :( }
但是,有时候我们知道unknown
类型会是更加的选择,所以我们可以在catch
语句的时候使用unknown
。
ts 团队为了考虑到效率,还是其他的原因,我们可以通过设置为默认值,也就是说,类似于--useUnknownInCatchVariables
将默认类型切换成unknown
。
比如下面代码:
// @useUnknownInCatchVariables: true try { // ... } catch (e) { e.toUpperCase(); // error }
或者,选择一个更加广泛的标志?
这些我们期待正式版本的到来,就能知道答案了。
那么你是不是想来试一试 TS4.4 测试版本的功能呢,我们可以借助这个 TS 中的 Playground 来体验下:
选择对应的版本即可。
至于其他的更新以及优化,比如更快的构建,会在构建上做优化,让开发体验更佳。比如 lib.d.ts 的修改等等。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » TypeScript 4.4 beat版本发布
码云笔记 » TypeScript 4.4 beat版本发布