Unexpected lexical declaration in case block.

报错现象:
在这里插入图片描述
改写一:在case外声明变量
在这里插入图片描述
改写二:用var声明:

switch (row.redirectType) {
    
    
// 跳转类型:1.网页链接;2.app内部跳转---课程;4.社团详情--------后续加跳转类型这里case需要根据redirectType跳转类型增加

case 1:
  return row.redirectUrl
case 2:
  return `课程:${
      
      JSON.parse(row.parm).name || '未知'}`
case 4:
  var arr = this.associationOptions.filter(
    (item) => item.id === row.parm
  )
  // console.log('arr:', arr)
  if (arr.length !== 0) {
    
    
    return `社团:${
      
      arr[0].name}`
  }

  return '社团:未知'

default:
  return '-'
}

原因:配置文件"extends": "eslint:recommended" 属性启用了此规则。
在这里插入图片描述

该规则禁止词法声明 (let、const、function 和 class) 出现在 case或default 子句中。
原因是,词法声明在整个 switch 语句块中是可见的,
但是它只有在运行到它定义的 case 语句时,才会进行初始化操作。

为了保证词法声明语句只在当前 case 语句中有效,将你子句包裹在块中。

Guess you like

Origin blog.csdn.net/weixin_41056807/article/details/115729204