箭头函数介绍
在 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}
额外的括号表示开始和结束括号是对象文字的一部分,即它们不是函数体的分隔符。