在項目中使用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函數就可以有個參數,只是用 _ 來表示,但是內部執行的代碼並不會調用參數,即對於參數沒有興趣。
也可以理解爲,這個變量是使用箭頭函數的時候必須填寫的,但是我並不想使用,也懶得起名字了,避免製造信息噪音。
()和 _ 這兩種寫法,實現的功能相同,不過我現在也更傾向於使用 _,因爲_與()相比,佔用像素點更少,更能有一種,無視此變量的意義