【代码规范】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 语句规范

posted @ 2023-10-19 13:29  辰梦starDream  阅读(42)  评论(0编辑  收藏  举报  来源