有没有办法用javascript从字符串创建箭头函数?

时间:2017-03-24 18:11:07

标签: javascript json string ecmascript-6 arrow-functions

像这样的JSON响应:

res = {
  onChange: "() => { console.log() }",
  .....
}

如何使res.onChange中的字符串成为箭头函数。

res.onChange = Function("() = { console.log()}");不解决我的问题。

2 个答案:

答案 0 :(得分:3)

您可以使用eval执行字符串作为代码。

eval("() => { console.log('no') }")();

或者如果你需要一些字符串插值:

const foo = 'bar';
eval(`() => { console.log('${foo}') }`)();

小心恶意注射。

编辑:OP,你应该能够从这里推断出你需要做的事情。

答案 1 :(得分:3)

您可以使用String.prototype.replace()

res.onChange = new Function(res.onChange.replace(/\\(\\)\s=>\s\\{|\\}$/,""))