17611538698
webmaster@21cto.com

微软为 JavaScript 提出类型注释语法

资讯 0 1285 2022-03-17 08:50:00

图片


TypeScript 粉丝的福音!微软正在为JavaScript加入动态类型检查。图片


微软和相关公司已经提案,包括来自 Igalia Coding Experience 计划和 Bloomberg 的开发者,目标是在该语言中添加“Type Annotations(类型注释声明)”。


其理论为:向 JavaScript 代码中添加类型注释,也可称作类型声明,这将允许 JavaScript 外部的类型检查器检查这些注释,且在运行时,JavaScript 引擎会忽略它们,将类型视作为注释。


有很多人指出,古老的 JavaScript 来说,早就应该进行创新了。而该提案将会让 JavaScript 原生自带 TypeScript 的一些特性,从而使 TypeScript 语言更快速、也更加容易使用。

图片

微软的 Daniel Rosenwasser 给出的当前 TypeScript JSDoc 注释实践的代码例子:


/** * @param a {number} * @param b {number} */function add(a, b) {return a + b;}

如果微软提案被接受,可能会变成这样:

function add(a: number, b: number) {return a + b;}


“这个提案的初衷是这样的,”Rosenwasser 说,“JavaScript 可以为引擎完全忽略类型创建这一系列语法,但 TypeScript、Flow 和相关工具则可以使用这些类型声明。”


Rosenwasser 很快强调,该提案并不是要在每个 JavaScript 运行时中加入 类型检查(人们会想象了很多的兼容性问题),只是计划为采用这种类型检查方法,而不仅仅是 TypeScript 。


如果开发人员习惯于使用类型检查器,这种方法一定赢得人们称赞。但这一切都是可选的,也有可能使事情进一步复杂化并被人们忽略的风险。


自上周提案发布以来,关于这一举措的争论一直在持续。有些人认为这个想法很好,而另一些人则比较消极


Rosenwasser 总结道:“这样的提案一定会得到很多反馈和合适的审查。”


目前它也只是一个提案——计划用于ECMA TC39 流程的第一阶段。因此,在这个概念(如果被接受)进入 ECMAScript 形式之前还有很多障碍,并且还有很多被抗辩的机会。


 2021 年JavaScript 现状调查中,有16000 多名开发者参与,人们对某种类型的声明功能表示有兴趣,建议是先迈出第一步。


有对此感兴趣的同学,可以到微软官方博客详细查看:

https://devblogs.microsoft.com/typescript/a-proposal-for-type-syntax-in-javascript/


作者:万能的大雄


评论