箭頭函式介紹
在 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}
額外的括號表示開始和結束括號是物件文字的一部分,即它們不是函式體的分隔符。