JavaScript 介绍

示例

在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;

但是,如果arrow函数不带参数,或者不带多个参数,则必须用新的括号括住所有参数:

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

((bow, arrow) => bow + arrow)('I took an arrow ', 'to the knee...')
// -> "我膝盖中了一箭..."

如果函数主体不由单个表达式组成,则它必须用方括号括起来并使用显式return语句来提供结果:

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

如果箭头函数的主体仅由对象文字组成,则该对象文字必须用括号括起来:

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

多余的括号表示开括号和闭括号是对象文字的一部分,即它们不是函数主体的定界符。