当前位置: 首页 > 工具软件 > Lexical > 使用案例 >

解决 Unexpected lexical declaration in case block.报错

蒲昊苍
2023-12-01

问题: 写代码的时候突然报了 Unexpected lexical declaration in case block. 的错误

描述: 今天在写代码的时候突然报错了Unexpected lexical declaration in case block.,开始有点闷,后来发现把类型定义写在了switch里面,错误代码如下:

switch (item.value) {
	// 整理
	case RIGHT_MENU[0].value:
		const data = 1;	// 报错
		break;
	// 刷新
	case RIGHT_MENU[1].value:
		// 实现代码
		break;
	default:
		console.warn("未知菜单");
		break;
}

解决:
这是一个eslint的报错提示,意思是在case中意外出现了类型声明,eslint不允许在case中声明变量,应该讲声明放在外面,case只进行赋值,比如:

let data=null;
switch (item.value) {
	// 整理
	case RIGHT_MENU[0].value:
		data = 1;	// 正确
		break;
	// 刷新
	case RIGHT_MENU[1].value:
		// 实现代码
		break;
	default:
		console.warn("未知菜单");
		break;
}
 类似资料: