TypeScript 4.7 发布


TypeScript 4.7 现已正式发布。

新特性概览

  • Node.js 中的 ECMAScript 模块支持
  • 模块检测控制
  • 括号内元素访问的控制流分析
  • 改进的对象和方法中的函数推理
  • 实例化表达式
  • infer类型变量的 extends Constraints
  • 类型参数的 Optional Variance Annotations
  • Resolution Customization with moduleSuffixes
  • resolution-mode
  • 转到源定义
  • Groups-Aware 组织导入
  • 对象方法片段完成
  • Breaking Changes

自 Beta 版以来有什么新变化? 

开发团队在 beta 版本中宣布了 Node ESM 支持的 stable target,为node12;但是,鉴于 Node.js 12 不再处于维护状态,所以现在开始转向node16。这应该会提供来自 Node.js 的较新的 ES 模块功能(如 pattern trailers)),同时还将 TypeScript 默认为支持 top-level await 的 higher target。

自 beta 版以来,resolution-mode语法仍然适用于/// <reference types="..." />指令;但是,官方收到了一些关于import type的反馈,并希望重新考虑该功能的需求和设计。在 TypeScript 的 nightly 版本中,resolution-mode只在import type中实验性地可用。

在 beta 之后,开发团队意识到#private字段的typeof存在 API 兼容性问题。因此,该功能不会出现在 TypeScript 4.7 中。

此版本还包括一个用于转到源定义的新预览编辑器命令。在普通的 Go to Definition 命令把你带到一个声明文件而不是实际的 JavaScript 或 TypeScript 源的情况下会很有帮助。 

自 beta 以来的还有一些 breaking changes包括在strictNullChecks和 arrow function parsing 中围绕更严格的类型参数约束的规则已经被取消了。但一些看似无害的变化已经引入了围绕 JSX ...spreads 和模板字符串中使用的泛型的更严格的规则。

转到源定义(Go to Source Definition)

TypeScript 4.7 包含对名为 Go To Source Definition 的新实验性编辑器命令的支持。它类似于 Go To Definition,但从不在声明文件中返回结果。相反,它会尝试找到相应的实现文件(比如 .js 或者 .ts 文件)并在其中找到定义 —— 即使这些文件通常被隐藏。

当你需要查看从库中导入的函数的实现,而不是d.ts文件中的类型声明时,该功能通常会派上用场。

对象方法片段完成(Object Method Snippet Completions)

TypeScript 现在为对象方法提供片段完成。当完成对象中的 members 时,TypeScript 将为方法的名称提供一个典型的 completion entry,并为完整的方法定义提供一个单独的 completion entry。

更多详情可查看发布公告


相關推薦

2022-05-13

TypeScript 4.7 首个 RC 版本已发布。该版本主要新功能如下: Node.js 中的 ECMAScript 模块支持 模块检测控制 计算属性的控制流分析 改进的对象和方法中的函数推理 实例化表达式 extendsinfer 类型变量的约束 类型参数的可选

2022-04-10

TypeScript 4.7 首个 Beta 版本已发布。 主要更新内容 在 Node.js 中支持 ECMAScript 模块 Control over Module Detection 面向计算属性 (Computed Properties) 的控制流分析 优化对象和方法中的函数推断功能 (Function Inference) 引入实例化表达式

2022-07-26

好,包括对 Angular 独立组件的支持,对 Vue 3 的更新,对 TypeScript 4.7 的支持,内置远程开发,以及对编辑器的大量改进。 对 Angular 独立组件的支持 Jetbrains 一直在积极致力于为 WebStorm 2022.2 带来对 Angular 14 的支持。在这个版本

2022-08-15

TypeScript 4.8 首个 RC 已发布。开发团队表示,从现在开始到发布 TypeScript 4.8 稳定版本,预计除了修复重要错误之外不会有进一步的变化。 主要更新内容包括: 改进交叉类型、联合类型兼容性,以及类型收窄功能 改进对infer

2022-06-18

不同。评估代码使用 Google 的 V8,而类型检查使用微软的 TypeScript 编译器。类型检查的速度相当慢,而 V8 的启动和评估则非常快。 如果你仍然想要回到以前的行为,请使用 --check 标志。 移除不稳定的 Deno.sleepSync API 在这个版本

2022-08-27

TypeScript 4.8 已正式发布。 自 Beta 和 RC 发布以来的变化 自 Beta 测试版发布以来,稳定版现已支持从自动导入中排除特定文件。测试版的公告没有提到围绕类型签名中未使用的解构别名 (destructuring aliases) 的破坏性变化。此外

2023-07-08

Mybatis-Flex v1.4.7 已经发布,优雅的 Mybatis 增强框架 此版本更新内容包括: 新增:@RelationManyToMany @RelationManyToOne @RelationOneToMany @RelationOneToOne 4 个注解用于关联查询 新增:为 QueryMethods 添加更多的 SQL 函数重载,感谢 @王帅 新

2022-08-03

进对 Web 技术的支持(支持 Angular 独立组件、Vue 3 更新、TypeScript 4.7 支持) 更快的运行时 在更新博客中可以查看详细的功能介绍。

2023-01-16

Spring Data 2022.0.1 和 2021.2.7 已发布,更新内容包括升级依赖项和修复错误。 Spring Data 2022.0.1 Spring Data Commons3.0.1-Artifacts-Javadoc-Documentation-Changelog Spring Data JPA3.0.1-Artifacts-Javadoc-Documentation-Changelog Spring Data for Apache Cassandra4.0.1-Arti

2022-08-11

t Testing 状态。 Live Unit Testing 现在支持 Razor 文件。 TypeScript 和 JavaScript 开发 JavaScript 和 TypeScript 文件项目现在已从程序分析中排除,除非它们由 tsconfig.json 或 jsconfig.json 文件引用。 结果应在具有大量 TypeScript 和 JavaScrip

2023-07-08

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2022-04-21

Taro 3.4.7 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5 等应用。具体更新内容如下: 特性 H5 添加非微信 JS-SDK 下的 getLocation API实

2023-04-01

Pigsty v2.0.2 现已发布,现在可以使用 pgvector 插件存储 AI Embedding,并执行高效的最近邻向量搜索。同时,2.0.2 修复了 MinIO CVE-2023-28432 高危漏洞,修复了一些 Bug,并对监控系统面板进行了优化,官方强烈建议升级。 具体更新内容

2022-11-18

制兼容。 AlmaLinux 的第一个稳定版本于 2021 年 3 月 30 日发布,同日 AlmaLinux 操作系统基金会成立,从 CloudLinux 手中接管了 AlmaLinux 的开发和治理,CloudLinux 承诺每年为该项目提供 100 万美元的资金。 目前 AlmaLinux 9.1 紧跟着 RHEL 9