JavaScript實戰筆記(一)js表達式中, = _ =>的意思(以element-ui transfer的代碼爲例)

在項目中使用vue+element,使用element 的 transfer穿梭框,發現有類似於以下的代碼

  export default {
    data() {
      const generateData = _ => {
        const data = [];
        for (let i = 1; i <= 15; i++) {
          data.push({
            key: i,
            label: `備選項 ${ i }`,
            disabled: i % 4 === 0
          });
        }
        return data;
      };
      return {
        data: generateData(),
        value: [1, 4]
      };
    }
  };

generateData = _ => 是箭頭函數,不知道的話可以看一下我之前的學習筆記 箭頭函數

我很疑惑,這爲什麼要使用_作爲函數參數呢?
後來查了資料,才知道
正常情況下,我們如果寫一個不需要參數的箭頭函數,寫法是這樣的

generateData = () => {/*代碼*/}

如果我們使用()寫法,這個箭頭函數將無法傳遞參數

如果以下劃線作爲參數

generateData = _ => {/*代碼*/}

經過一番搜索,確認了這個是參考了golang 變量 下劃線的思想
在這裏插入圖片描述
簡單來說的話,就是
這個generaData函數就可以有個參數,只是用 _ 來表示,但是內部執行的代碼並不會調用參數,即對於參數沒有興趣。
也可以理解爲,這個變量是使用箭頭函數的時候必須填寫的,但是我並不想使用,也懶得起名字了,避免製造信息噪音。

()和 _ 這兩種寫法,實現的功能相同,不過我現在也更傾向於使用 _,因爲_與()相比,佔用像素點更少,更能有一種,無視此變量的意義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章