【问题标题】:Is there a way to create an arrow function from a string with javascript?有没有办法用javascript从字符串创建箭头函数?
【发布时间】:2017-08-17 19:13:57
【问题描述】:

这样的 JSON 响应:

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

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

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

【问题讨论】:

  • 您示例中的那个字符串缺少> 符号:res.onChange = Function("() = { console.log()}");
  • eval 是朝着解决您的问题迈出的一步。不要期望得到确切的代码。

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


【解决方案1】:

你可以使用String.prototype.replace():

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

【讨论】:

    【解决方案2】:

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

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

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

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

    小心恶意注入。

    编辑:OP,您应该能够从这里推断出您需要做什么。

    【讨论】:

      猜你喜欢
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2012-05-14
      • 2021-02-09
      相关资源
      最近更新 更多