8. 箭頭函數(shù)

2018-02-24 16:11 更新
  • 8.1?當(dāng)你必須使用函數(shù)表達(dá)式(或傳遞一個(gè)匿名函數(shù))時(shí),使用箭頭函數(shù)符號。

    為什么?因?yàn)榧^函數(shù)創(chuàng)造了新的一個(gè)?this?執(zhí)行環(huán)境(譯注:參考?Arrow functions - JavaScript | MDN?和?ES6 arrow functions, syntax and lexical scoping),通常情況下都能滿足你的需求,而且這樣的寫法更為簡潔。

    為什么不?如果你有一個(gè)相當(dāng)復(fù)雜的函數(shù),你或許可以把邏輯部分轉(zhuǎn)移到一個(gè)函數(shù)聲明上。

      // bad
      [1, 2, 3].map(function (x) {
        return x * x;
      });
    
      // good
      [1, 2, 3].map((x) => {
        return x * x;
      });
  • 8.2?如果一個(gè)函數(shù)適合用一行寫出并且只有一個(gè)參數(shù),那就把花括號、圓括號和?return?都省略掉。如果不是,那就不要省略。

    為什么?語法糖。在鏈?zhǔn)秸{(diào)用中可讀性很高。

    為什么不?當(dāng)你打算回傳一個(gè)對象的時(shí)候。

      // good
      [1, 2, 3].map(x => x * x);
    
      // good
      [1, 2, 3].reduce((total, n) => {
        return total + n;
      }, 0);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號