【问题标题】:JavaScript: Multi line arrow function that returns an objectJavaScript:返回对象的多行箭头函数
【发布时间】:2018-05-04 12:47:53
【问题描述】:

我被提示跟随, 说明

编写一个名为 gemInfo 的多行箭头函数,它接受三个参数:宝石类型、宝石大小和宝石颜色。让 gemInfo 函数返回一个 abject,并将这些参数的值设置为这三个键:gemType、gemSize、gemWeight。

  • 应该使用箭头函数
  • 应该是多行函数

function gemInfo(type, size, color){
  var obj = {
    type: gemType,
    size: gemSize,
    color: gemColor
  };
  return () => obj;
}

这是我到目前为止所拥有的,我不知道我有什么问题,有人可以给我任何指导吗?

【问题讨论】:

标签: javascript object return multiline arrow-functions


【解决方案1】:

在您的代码中,function gemInfo(...) { ... } 不是arrow function,而是function declaration。此外,您的返回值是function不是object

要使用箭头函数返回对象,请将返回值括在括号中。

const gemInfo = (gemType, gemSize, gemColor) => ({
  gemType,
  gemSize,
  gemColor,
});

const myGem = gemInfo('diamond', 'big', 'black');

console.log(myGem);

【讨论】:

    【解决方案2】:

    多行箭头函数如下所示

    const gemInfo = (gemType, gemSize, gemWeight) => {
      return {
        gemType,
        gemSize,
        gemWeight
      };
    }
    

    查看Arrow functions

    的官方文档

    【讨论】:

    • 您的回答有效,但我不得不将 gemColor 更改为 gemWeight,非常感谢
    • var gemInfo = (gemType, gemSize, gemWeight) => { return { gemType, gemSize, gemWeight } } 这是他们解决后提供的解决方案
    • 很高兴它成功了。请阅读文档。它真的很有趣而且很有帮助
    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多