作者 | Daniel Dominguez
译者 | 刘雅梦
策划 | 丁晓昀
Type,微软的 Java 静态类型超集,已经发布了 Type 5.9 版本,带来了一系列开发者体验改进、新特性和性能优化。
Type 5.9 引入了多个特性,包括对延迟导入的支持、通过脚手架标志改进的默认项目设置,以及对 Node.js v20 的更稳定的模块解析模式。它还宣布了一个新的可展开悬停预览功能。
Type 5.9 的一个主要特性是 对提议的导入延迟语法 的支持,这是阶段 3 ECMA 提案的一部分。这个功能允许开发者将模块及其依赖项的加载和执行推迟到访问导入属性的那一刻。
延迟导入的语法与常规导入类似,但有一些规则,例如不能使用命名导入或默认导入。下面展示了正确的语法示例:
使用 tsc –init命令搭建新的 Type 配置的开发者现在将看到一个更简洁的 tsconfig。这一变化是基于反馈实施的,表明开发者通常会删除 tsconfig.json 文件中自动生成的大量内容。有了新变化,开发者现在将得到一个更简洁的文件,并能够利用编辑器自动补全和 Type 网站 上的 tsconfig 参考来添加所需的特定配置。
除了现有的 nodenext 模块模式,这个版本的 Type 将引入 node20 模块选项。这个选项旨在镜像 Node.js v20 的行为,因此不太可能像‘nodenext’模式那样包含未来的功能或行为。唯一的例外是如果 NodeJS 团队 将新的模块行为回溯到 Node.js v20。
在 Visual Studio Code 等工具中,Type 5.9 通过引入了可扩展的类型预览来改善开发者体验。这个新功能的目标是对于深度嵌套的类型,将提供一个新的‘+’和‘-’按钮,以便开发者可以更深入地挖掘类型,减少直接跳转到定义文件的需求。这个新功能引起了社区的一些兴奋,reddit 上的用户已经强调了新功能的便利性:
我对导入延迟非常兴奋,但我认为摘要描述和可展的悬停将对新手来说是最大的游戏改变者。当我第一次学习 Type 时,很多内容对我来说都显得深奥难懂,因此让底层信息更直接可用绝对是一个好举措。
Type 5.9 还包含了一些幕后的性能升级。这些包括在 映射器上缓存实例化以减少不必要的多次实例化相同的中间类型,并优化了文件存在性检查,这在大型项目中可能会使速度提高约 11%。
5.9 的发布说明还让我们对将来的版本有所了解。虽然团队正专注于他们 最近宣布的将 Type 编译器移植到 Go 的计划,目前计划在 Type v7 中实现,但他们已经表示版本 6 将更多地是一个桥接版本,允许开发者为版本 7 做准备。
Type 是由微软开发和维护的开源编程语言。它通过添加可选的静态类型来构建 Java,使其更容易及早发现错误,并有信心地构建大规模应用程序。Type 在前端和后端生态系统中被广泛采用,并在 React、Angular、Vue 和 Node.js 等框架中得到一级支持。