【问题标题】:Single-Line to Multi-Line ES6 Fat Arrow Function?单行到多行 ES6 胖箭头函数?
【发布时间】:2017-01-13 03:02:35
【问题描述】:

我正在学习 ES6 粗箭头函数。更改此代码的正确方法是什么,以便能够在指示的位置放置另一行,甚至 const a = 100;,以便我可以在此函数中添加更多行?

IMAdded: (options, args) => ({
    IMAdded: {
        filter: newIM => true, *need to add another line here*
    },
}),

更新:

这是运行的 ES6 代码:

const subscriptionManager = new SubscriptionManager({
    schema,
    pubsub,
    setupFunctions: {
        APPTAdded: (options, args) => ({
            APPTAdded: {
                filter: appointment => (true),
            },
        }),
});

我想在返回 true 的代码中添加更多行。

【问题讨论】:

  • IMAdded 你有一个对象(不是一个函数),你需要做:a:100,然后读为 IMAdded.a //=> 100
  • 如果你向我们展示了正确的 ES5 方式来声明你想要做什么,我们可以很容易地帮助你用粗箭头将其更改为 ES6。就您现在所展示的内容而言,您想要达到的目标还不够清楚,我们不知道如何解决。您有几种无效语法组合,并且正在声明我们不确定您的意思的对象。所以,请明确目标。展示目标最可靠的方法是展示你正在尝试做的工作的 ES5 代码。
  • 感谢您的建议。我不知道这在 ES5 中会是什么样子。我会更新帖子以显示更多信息。

标签: javascript ecmascript-6


【解决方案1】:

如果要将以下方法转换为多行:

{
  filter: appointment => true
}

您必须添加花括号和return 语句:

{
  filter: appointment => {
    // ... add your other lines here
    return true;
  }
}

【讨论】:

    【解决方案2】:
    filter: appointment => true,
    ...
    

    是(true 周围不需要括号)是

    的快捷方式
    filter: appointment => {
      return true;
    },
    ...
    

    这是一个快捷方式

    filter: function (appointment) {
      return true;
    }.bind(this),
    ...
    

    return 语句之前可以添加任意数量的行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 2023-04-01
      • 1970-01-01
      • 2017-05-18
      • 2019-10-30
      • 2019-01-06
      相关资源
      最近更新 更多