JavaScript 介绍
示例
在JavaScript中,可以使用“箭头”(=>)语法匿名定义函数,由于CommonLisp的相似性,有时将其称为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}
多余的括号表示开括号和闭括号是对象文字的一部分,即它们不是函数主体的定界符。