是否有任何转换器或技术可用于将具有新语言功能的 Javascript 1.7 代码转换为 Javascript 1.6?
我对迭代器生成器和yield
关键字最感兴趣。我使用的脚本引擎只有 1.6,但迭代器生成器会生成更好的代码。手写似乎很复杂。
我试过用 C# 编写它,用 ILSpy 反编译,然后手动将它移植到Javascript。但那真是一团糟。
我已经搜索过这样的转换器,但我什么也没找到 - 可能是由于在这种情况下搜索词与不相关的结果共享。
是否有任何转换器或技术可用于将具有新语言功能的 Javascript 1.7 代码转换为 Javascript 1.6?
我对迭代器生成器和yield
关键字最感兴趣。我使用的脚本引擎只有 1.6,但迭代器生成器会生成更好的代码。手写似乎很复杂。
我试过用 C# 编写它,用 ILSpy 反编译,然后手动将它移植到Javascript。但那真是一团糟。
我已经搜索过这样的转换器,但我什么也没找到 - 可能是由于在这种情况下搜索词与不相关的结果共享。
我想我已经为你找到了解决方案。查看 Traceur。它是一个 ES6 转译器,即将 ES6 代码(以及所有即将推出的 ES6 内容,如生成器、类、模块等yield
)转换为当今 JS 引擎能够解释的 ES5 代码。
在这里查看:https ://github.com/google/traceur-compiler/
语言功能页面:https ://github.com/google/traceur-compiler/wiki/LanguageFeatures
请注意 Mozilla 添加到 JavaScript 1.7+ 的大部分内容如何在即将发布的 ECMAScript 标准第 6 版中标准化。当前版本是第 5 版,其中已经包含了一些内容(例如数组迭代方法、对象可扩展性 API)。