箭頭函式介紹

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

額外的括號表示開始和結束括號是物件文字的一部分,即它們不是函式體的分隔符。