【问题标题】:What does => mean in JavaScript? (equals greater than) [duplicate]=> 在 JavaScript 中是什么意思? (等于大于)[重复]
【发布时间】:2015-12-28 05:39:57
【问题描述】:

tl;dr: => 做什么?

我刚刚解决了一个关于 codewars 的问题,在查看了其他人对这个问题的常见反应之后,我一直看到这个:=>

问题如下:

您有箭筒,但有些已损坏。箭袋包含带有可选范围信息的箭头(不同类型的目标定位在不同的范围内),因此每个项目都是一个箭头。 你需要确认你还有一些好的,以便为战斗做准备。下面是一个示例数组,它是箭袋。

anyArrows([
{range: 5}, 
{range: 10, damaged: true}, 
{damaged: true}
])

如果箭筒中的箭头没有损坏状态,则表示它是新的。

这是我看到的一个例子,它返回真或假,取决于箭袋中是否有未损坏的箭头:

function anyArrows(arrows){
  return arrows.some(a => !a.damaged);
}

现在,这比我的代码短得多!我的更基本:

function anyArrows(arrows){
  for ( var i = 0 ; i < arrows.length ; i++ ){
    if ( arrows[i].damaged === false ) { return true; }
    else if (arrows[i].damaged === true) { return false; }
    else if (arrows[i].range === 0) { return false }
    else { return true; } 
  }
  if (arrows.length === 0) return false;
}

同样,问题是:=&gt; 在这种情况下和一般情况下会做什么?

【问题讨论】:

  • 这是 ES6 中新的短函数语法。例如。 function(x){return x.Id;} 变为 x =&gt; x.Id。它类似于 C# 中的 lambda 表达式。
  • 这对我来说似乎是一个 LINQ 查询,基本上他们正在做的是,返回 a // is an object from arrows!damaged 的箭头。看看这个developer.mozilla.org/en/docs/Web/JavaScript/Reference/…

标签: javascript ecmascript-6


【解决方案1】:

=&gt; 是 ES2015 语法,将箭头函数参数与正文分开,例如(params) =&gt; { /* body */ }.

ArrowFunction : ArrowParameters =&gt; ConciseBody

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-31
    • 2014-09-14
    • 2022-12-29
    • 2011-04-26
    • 1970-01-01
    相关资源
    最近更新 更多