3月9日,微软官方博客发文表示提议将可选的 Type Annotations(类型标注)添加到官方 JavaScript 标准 ECMAScript 里面。这一提议有可能让JavaScript原生支持TypeScript的特性,使得 TypeScript 更易使用。
向 JavaScript 代码中添加类型标注,允许 JavaScript 外部的类型检查器检查这些注释,且在运行时,JavaScript 引擎会忽略它们,将类型视为标注。
该提案使得开发者能够运行用 TypeScript、Flow 或其他静态类型的 JavaScript 超集所编写的程序,而不需要转译。
在编写和运行代码时,开发人员的内循环看起来会有些不同。
同时,编写代码和类型检查将保持不变。开发人员可以在支持 TypeScript 的编辑器中获得即时类型检查反馈,在命令行上运行 TypeScript,并将 TypeScript 添加为 CI 任务的一部分。最大的不同在于,因为开发者不需要构建步骤,将大大降低 JavaScript 开发人员体验类型和强大工具的门槛。
其中,可见性修饰符(例如public、private和protected
)可能在范围内。然而,枚举、名称空间和参数属性将不在本方案的范围内,因为它们具有可观察的运行时行为,但这些特性可以作为单独的ECMAScript特性提出。
由于为类型检查器提供了创新的空间,因此我们需要新的语法,同时类型检查器会是规范性的,可能会实施比运行时更严格的约束。