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
image.png
() => ({}) 和 () => { return null } 这两个箭头函数在JavaScript中有几个关键的区别,主要体现在它们返回的值和语法结构上。 隐式返回的方式(如() => ({}))

() => ({}):这个函数没有参数,并且它直接返回了一个空对象({})箭头函数一行,不需要写return。这里的括号()是必须的,因为它是告诉JavaScript,后面的{}是一个对象字面量,不是函数体的开始。

() => { return null }:这个函数同样没有参数,它通过return语句显式地返回了null。这里的{}表示函数体的开始和结束,其中包含了return语句。


得鹿梦鱼
2 声望0 粉丝