箭头函数介绍

在 JavaScript 中,可以使用箭头=>)语法匿名定义函数,由于 Common Lisp 的相似性 ,有时将其称为 lambda 表达式

最简单的箭头函数形式的参数位于 => 的左侧,返回值位于右侧:

item => item + 1 // -> function(item){return item + 1}

可以通过为表达式提供参数来立即调用此函数 :

(item => item + 1)(41) // -> 42

如果箭头函数采用单个参数,则该参数周围的括号是可选的。例如,以下表达式将相同类型的函数分配给常量变量

const foo = bar => bar + 1;
const bar = (baz) => baz + 1;

但是,如果箭头函数不带参数或多个参数,则一组新的括号必须包含所有参数:

(() => "foo")() // -> "foo"

((bow, arrow) => bow + arrow)('I took an arrow ', 'to the knee...')
// -> "I took an arrow to the knee..."

如果函数体不包含单个表达式,则必须用括号括起来并使用显式的 return 语句来提供结果:

(bar => {
  const baz = 41;
  return bar + baz;
})(1); // -> 42

如果箭头函数的主体仅包含一个对象文字,则该对象文字必须括在括号中:

(bar => ({ baz: 1 }))(); // -> Object {baz: 1}

额外的括号表示开始和结束括号是对象文字的一部分,即它们不是函数体的分隔符。