【发布时间】:2012-11-17 14:19:00
【问题描述】:
是否有任何转换器或技术可用于将具有新语言功能的 Javascript 1.7 代码转换为 Javascript 1.6?
我对迭代器生成器和yield 关键字最感兴趣。我使用的脚本引擎只有 1.6,但迭代器生成器会生成更好的代码。手写似乎很复杂。
我尝试用 C# 编写它,使用 ILSpy 进行反编译,并手动将 that 移植到 Javascript。但这真是一团糟。
我已经搜索过这样的转换器,但我什么也没找到 - 可能是由于在这种情况下搜索词与不相关的结果共享。
【问题讨论】:
-
我只能考虑将生成器手动重写为 lambda 函数,这样它们的变量就不会污染作用域
-
1.6?哪个环境使用该引擎?我只知道 Firefox 1.5。
-
@uosɐſ 你怎么知道是 1.6?由于这是 Google 产品,我希望它具有与 Chrome 相同的 JS 引擎。 实际上,整个 JavaScript 版本编号仅针对 Mozilla 的 JS 实现。 除非 Google Apps Script 实现了 Mozilla 的 JS 引擎,否则版本不适用。
-
@uosɐſ 更有可能的是 ES6 到 ES5 代码的编译器,因为 ECMAScript 是真正的 JavaScript 标准,而“JavaScript”只是 Mozilla 对该标准的实现。请注意“JavaScript”如何混淆地具有两个含义:(1) Mozilla 的 ECMAScript 实现,以及 (2) ECMAScript 本身。
标签: javascript generator