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语句。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。