Eval中使用Es6语法糖class问题

正常使用class语法糖创建js脚本正常,在native环境下eval(“class Test{ test(){}}”);会出现 Simulator: SyntaxError: class is a reserved identifier 错误,何解?

因为你在Creator中使用的ES6 class语法,实际是被编译成ES5放到模拟器上执行的。eval字符串无法被编译成ES5。在Creator的资源管理器中右击一个你使用ES6 class语法的脚本,选择“打开Library中的资源”,就可以看到你的脚本被编译成ES5的样子了。

十分不推荐使用 eval,真的,几乎没有任何使用它的理由。如果要用,建议用 Function

那其实就是先编译成为ES5,然后加载就可以了,是这样的吧

我这边使用的时候,是想做一些测试的脚本注入到当前的框架里,用eval跑了一下 发现在chrome下正常,在native下就报错了

你可以试试其它变通方式?代码注入的话应该不用 eval 吧。直接把要测试的代码写死在 js 里应该也没问题