This question already has answers here:
What's the meaning of “=>” (an arrow formed from equals & greater than) in JavaScript?

(13个回答)


5年前关闭。




tl; dr:=>是做什么的?

我刚刚解决了代码战中的一个问题,并且在查看了其他人对该问题的常见回答之后,我一直看到:=>
问题如下:

您有一个箭袋,但其中一些已损坏。 flutter 器包含带有可选范围信息的箭头(不同类型的目标位于不同的范围),因此每个项目都是一个箭头。
为了进行战斗,您需要验证是否还剩下一些好人。 下面是一个示例数组,它是箭头的 flutter 。
anyArrows([
{range: 5},
{range: 10, damaged: true},
{damaged: true}
])

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

这是我看到的示例,根据箭袋中是否有未损坏的箭头,它返回true或false:
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;
}

同样,问题是:在这种情况下,以及一般情况下,=>会做什么?

最佳答案

=>是ES2015语法,可将箭头函数参数与主体分开,例如(params) => { /* body */ }
ArrowFunction : ArrowParameters => ConciseBody

07-24 09:44
查看更多