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/
作者:万能的大雄
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。