【代码规范】switch 块级的作用域问题
代码规范的一些事儿
问题
今日 Git 提交代码时,出现报错:
error Unexpected lexical declaration in case block no-case-declarations
解决过程
我马上就去百度,就找到了这篇文章:解决 Unexpected lexical declaration in case block 的问题-腾讯云开发者社区-腾讯云
比如我报错的代码:
switch (formType) {
case "新增体系":
const { info, title } = values;
try {
// 添加请求
const res = await addDocs();
// 重新获取数据,更新当前页面
// 省略...
} catch (err) {
console.log("出错啦~", err);
}
break;
}
一看,我这个代码哪里有问题?为什么提交不了?
一顿操作猛如虎!
修改这里,修改那里,始终提交不了。
结果一百度
该规则禁止词法声明 (let、const、function 和 class) 出现在 case或default 子句中。
解决
解析:加上 花括号 解决问题。
switch (formType) {
case "新增体系": {
const { info, title } = values;
// 省略其他代码...
break;
}
}
总结
做好 switch 语句规范