什么=>在JavaScript中意味着什么?(等于大于)

chr*_*man 5 javascript ecmascript-6

tl;博士:=>做什么?

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

问题如下:

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

anyArrows([
{range: 5}, 
{range: 10, damaged: true}, 
{damaged: true}
])
Run Code Online (Sandbox Code Playgroud)

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

这是我看到的一个返回true或false的示例,具体取决于箭头中是否有未损坏的箭头:

function anyArrows(arrows){
  return arrows.some(a => !a.damaged);
}
Run Code Online (Sandbox Code Playgroud)

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

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;
}
Run Code Online (Sandbox Code Playgroud)

但问题是:=>在这种情况下和一般情况下做了什么?

JMM*_*JMM 8

=>是ES2015语法,用于将箭头函数参数与body分开,例如(params) => { /* body */ }.

ArrowFunction : ArrowParameters => ConciseBody