亲测可用,若有疑问请私信

使用新版的 es-lint 的时候扫描旧的项目,发现报了

Unexpected lexical declaration in case block(no-case-declarations)

这么一个错误提示

当时很奇怪,就去查了一下文档,发现中文文档中解释比较简单

该规则禁止词法声明 (let、const、function 和 class) 出现在 case或default 子句中。

no-case-declarations - Rules - ESLint中文

几番实验后,其实归根结底是代码作用域的问题:

switch (2) {case 1:function f () {console.log('Wanna a girl friend !')}breakcase 2:f() // 会输出:Wanna a girl friend !break
}
switch (1) {case 1:let foo = 1breakcase 2:let foo = 2console.log(foo) // 会报错:Uncaught SyntaxError: Identifier 'foo' has already been declaredbreak
}

如上实验可知,就算switch 逻辑没有走到 case 1 的代码块,由于作用域提升,会导致case 1 影响到case 2

所以,eslint 会对这种情况做校验,现在必须 使用花括号将代码块确定具体的作用域

switch (1) {case 1: {// do somethingbreak}
}

从而限制上述问题的发生

解决 Unexpected lexical declaration in case block 的问题相关推荐

  1. 解决 Unexpected lexical declaration in case block.报错

    问题: 写代码的时候突然报了 Unexpected lexical declaration in case block. 的错误 描述: 今天在写代码的时候突然报错了Unexpected lexica ...

  2. JavaScript => 解决 Unexpected lexical declaration in case block 的问题

    使用新版的 es-lint 的时候扫描旧的项目,发现报了 Unexpected lexical declaration in case block(no-case-declarations) 这么一个 ...

  3. 【eslint】Error: Unexpected lexical declaration in case block

    项目代码迁移的时候遇到的,举个例子: const getPersonInfo = (type: number) => {switch (type) {case 1:const name = '张 ...

  4. Unexpected lexical declaration in case block.

    报错现象: 改写一:在case外声明变量 改写二:用var声明: switch (row.redirectType) {// 跳转类型:1.网页链接;2.app内部跳转---课程;4.社团详情---- ...

  5. 成功解决Cannot find declaration to go to

    成功解决Cannot find declaration to go to 目录 解决问题 解决思路 解决方法 解决问题 Cannot find declaration to go to 解决思路 找不 ...

  6. 成功解决Unexpected end of JSON input while parsing near的问题

    成功解决Unexpected end of JSON input while parsing near的问题(执行npm install的时候报出的错误) 出现的问题,我是在命令行执行npm inst ...

  7. 解决“error #147 declaration is incompatible with xxx xxx (declared at line xx)”问题

    今天分享一个很奇怪的问题,为什么说奇怪,因为今天分享的这个错误是我在移植代码时候遇到的,在其他人的工程中可以正常运行,而我自己的就运行报错,于是来给大家分享一下,说不定有小伙伴知道呢~ 错误问题 首先 ...

  8. 解决 unexpected EOF while looking for matching `“‘

    原因在于符号 " 错误,解决办法:检查报错行的符号 例子: error: line 12: unexpected EOF while looking for matching `" ...

  9. 解决 Unexpected token u in JSON at position 0

    精选30+云产品,助力企业轻松上云!>>> 可以确定是这个代码(JSON.parse())的问题. 解决的话就看一下你转换的数据是不是json字符串了. 如果数据可能是json字符串 ...

最新文章

  1. bzoj3270 博物馆
  2. 关于OC的内存管理-01
  3. 使用Pylint进行Python代码规范检查
  4. 参会全攻略 | 倒计时 7 天!30+ 位重量级嘉宾“聊”什么?
  5. android视频分享功能吗,Unity 调用 Android 分享功能(基于ShareRec SDK视频分享)
  6. ftp服务器文件查找功能,ftp服务器端查找功能
  7. P4548-[CTSC2006]歌唱王国【概率生成函数,KMP】
  8. 【物联网开发实战】- 设备上云方案详解?
  9. jvm lock低性能分析
  10. ASP网页开发重点源代码
  11. 基于微博评论的情感分析研究(小记)
  12. python+Aritest自动化——03—test_cace.py—写自动化测试用例
  13. 微云解析直链php源码,微云分享文件直链解析源码
  14. 网页游戏外挂的设计与编写:QQ摩天大楼【三】(登陆准备-信息发送方式)
  15. 记一次docker进不去容器的经历
  16. VGA线 1080P之伤 中秋节篇
  17. 过滤器、使用过滤器完成session效验
  18. 禅卡塔罗;追随它的指引,你会得到更多
  19. OpenNI_NITE_Installer-win32-0.27 + SimpleOpenNI 下载
  20. CSS3实现缺角矩形

热门文章

  1. 计算机系统基础实验 BombLab
  2. 1. 为unity开发者准备的UE4
  3. quartus原理图设计及 自带仿真
  4. Mac window文件文本内容乱码问题
  5. 360wifi linux驱动安装失败,安装360WIFI时,出现错误求解释
  6. 知名投资人蔡文胜遭实名举报:欺诈上市、逃税数亿,蔡文胜目前仍未回应
  7. vue中的keep-alive实现原理
  8. 哈尔滨理工大学第12届程序设计竞赛--ADK题
  9. 2.5.1 推导和语法树
  10. Tika(百科介绍)