eslint報錯:ESLint: Unexpected empty method 'default 禁止出現空函數 (no-empty-function)
錯誤代碼示例:
const props = defineProps({
data: {
type: Object,
default: () => {} // 報錯 Unexpected empty method 'default 沒有實際的邏輯或返回值
}
})
修改後:
const props = defineProps({
data: {
type: Object,
default: () => ({}) // 報錯 Unexpected empty method 'default
// 或者
default: () => {
return null
}
// 或者 // eslint-disable-next-line @typescript-eslint/no-empty-function
}
})
個人解釋:
() => {} 沒有實際的邏輯或返回值 但是,這裏的函數體僅僅是一個空代碼塊({}),沒有返回語句。 函數體沒有顯式的返回語句,那麼函數將默認返回undefined
() => ({}) 和 () => { return null } 這兩個箭頭函數在JavaScript中有幾個關鍵的區別,主要體現在它們返回的值和語法結構上。 隱式返回的方式(如() => ({}))
() => ({}):這個函數沒有參數,並且它直接返回了一個空對象({})箭頭函數一行,不需要寫return。這裏的括號()是必須的,因為它是告訴JavaScript,後面的{}是一個對象字面量,不是函數體的開始。
() => { return null }:這個函數同樣沒有參數,它通過return語句顯式地返回了null。這裏的{}表示函數體的開始和結束,其中包含了return語句。