JavaScript 分裂为两门语言,真的可行吗?


近期,在 Emca TC39 会议上,一位来自谷歌的工程师提出了一项关于 JavaScript 未来的提案,旨在将 JavaScript 分为两个部分:

  1. 核心语言 JS0 ,主要由运行时引擎直接支持

  2. 高级语言变种 JSSugar ,无法由运行时引擎直接支持,需通过编译工具转换成核心语言,提供更多的功能和灵活性。

提案者认为,历来为 JavaScript 引入的新的语言特性往往带来的是负面效果,比如降低了安全性、影响了性能,甚至会导致稳定性下降。

该提案还建议未来 JavaScript 的发展方向应该是简化核心语言,确保它能够保持高效、安全和稳定。而那些更高级的功能则可以通过外部工具(如 TypeScriptBabel 等编译器)实现。在这种方式下,开发者可以继续享受现代 JavaScript
带来的便利,同时避免了核心语言过于臃肿的问题。

我们前端就是花,以后面试, JavaScript 由哪五部分组成呢?

答:

  1. ECMAScript 核心语言 JS0

  2. ECMAScript 变种语言 JSSugar

  3. DOM

  4. BOM

  5. TypeScript/Babel/SWC/Bublé/Esbuild...

那么, TypeScript 还是 JavaScript 的超集吗?