类别:科技资讯

日期:2022-03-13 浏览:1586 评论:0

原文链接https://news.cnblogs.com/n/715680/

  微软日前提出了一项新的提案,在提案中希望可以为 JavaScript 带来可选的类型语法,该提案可能会使 JavaScript 原生自带 TypeScript 的一些特性,使 TypeScript 语言更快、更容易使用。

  具体而言,该提案要求将类型标注(Type Annotations)添加到 JavaScript 代码中,允许类型标注被外部类型检查器检查。在运行时,JavaScript 引擎会忽略这些标注并将这些类型视为注释。该提案要求 JavaScript 为类型划出一套语法,JavaScript 引擎将忽略这些语法,但 TypeScript、Flow 等工具可以使用。这项建议将为 ECMAScript 增加可选的类型语法。

  该提案的目的是让开发者能够运行用 TypeScript、Flow 或其他静态类型的 JavaScript 超集所编写的程序,而不需要转译。微软在公告中表示,新的语法将有效地起到注释作用,而不会改变代码的运行方式。

  微软在提案中还表示,在过去十年中,静态类型检查的案例已经被证明相当成功。对 JavaScript 的大量投资(如微软 TypeScript、Google Closure Compiler 和 Facebook Flow)为在 JavaScript 中声明和使用类型提供了方便的语法,并获得了在其他静态类型语言中所看到的生产力的提高。它们的语法大多不会影响运行时的语义,实际上将这些变体转换为普通的 JavaScript 的大部分工作都是在删除类型。

  此外在 2020 和 2021 年的 JS 调查中,静态类型也一直是 JavaScript 开发者强烈要求的一个功能。

  类型语法在 JavaScript 中的兴起与下层编译(或称转译)的兴起相吻合。因为类型语法在 JavaScript 中没有得到原生支持,所以必须有一个工具能够在运行代码之前删除这些类型。对于像 TypeScript 和 Flow 这样的类型系统来说,将类型清除步骤与语法降级相结合是有意义的,这样用户就不需要运行单独的工具。

  这个提案将减少对构建步骤的需求,使一些开发设置变得更加简单,用户将可以更加简单地运行他们编写的代码。

  微软在提案中并没要求将 TypeScript 的类型检查放在每个浏览器和 JavaScript 运行时中,也没要求在浏览器中放置一个新的类型检查器。微软认为这将给 JavaScript 和 TypeScript 用户带来运行时的性能和兼容性问题,也有可能阻止创新。目前该提案还处于 Stage 0 阶段,更多提案内容可查看微软官方页面


本文标题:微软提议为 JavaScript 原生增加类型标注
本文链接:https://vtzw.com/post/921.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。