有没有办法用javascript从字符串创建箭头函数?
类似这样的JSON响应:有没有办法用javascript从字符串创建箭头函数?,javascript,json,string,ecmascript-6,arrow-functions,Javascript,Json,String,Ecmascript 6,Arrow Functions,类似这样的JSON响应: res = { onChange: "() => { console.log() }", ..... } 如何使res.onChange中的字符串成为箭头函数 res.onChange=Function(“()={console.log()}”)不要解决我的问题 您可以使用eval将字符串作为代码执行 eval(“()=>{console.log('no')}”)() 或者,如果需要一些字符串插值: const foo = 'bar'; eval(`()
res = {
onChange: "() => { console.log() }",
.....
}
如何使res.onChange中的字符串成为箭头函数
res.onChange=Function(“()={console.log()}”)代码>不要解决我的问题 您可以使用eval
将字符串作为代码执行
eval(“()=>{console.log('no')}”)()代码>
或者,如果需要一些字符串插值:
const foo = 'bar';
eval(`() => { console.log('${foo}') }`)();
小心恶意注射
编辑:OP,您应该能够从这里推断您需要做什么。您可以使用String.prototype.replace()
:
示例中的字符串缺少
符号:res.onChange=Function(“()={console.log()}”)代码>eval
是解决问题的一个步骤。不要期望被一匙一匙的精确编码。
res.onChange = new Function(res.onChange.replace(/\\(\\)\s=>\s\\{|\\}$/,""))