像这样的JSON响应:
res = {
onChange: "() => { console.log() }",
.....
}
如何使res.onChange中的字符串成为箭头函数。
res.onChange = Function("() = { console.log()}");
不解决我的问题。
答案 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\\{|\\}$/,""))