解决 Unexpected lexical declaration in case block 的问题
亲测可用,若有疑问请私信
使用新版的 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 的问题相关推荐
- 解决 Unexpected lexical declaration in case block.报错
问题: 写代码的时候突然报了 Unexpected lexical declaration in case block. 的错误 描述: 今天在写代码的时候突然报错了Unexpected lexica ...
- JavaScript => 解决 Unexpected lexical declaration in case block 的问题
使用新版的 es-lint 的时候扫描旧的项目,发现报了 Unexpected lexical declaration in case block(no-case-declarations) 这么一个 ...
- 【eslint】Error: Unexpected lexical declaration in case block
项目代码迁移的时候遇到的,举个例子: const getPersonInfo = (type: number) => {switch (type) {case 1:const name = '张 ...
- Unexpected lexical declaration in case block.
报错现象: 改写一:在case外声明变量 改写二:用var声明: switch (row.redirectType) {// 跳转类型:1.网页链接;2.app内部跳转---课程;4.社团详情---- ...
- 成功解决Cannot find declaration to go to
成功解决Cannot find declaration to go to 目录 解决问题 解决思路 解决方法 解决问题 Cannot find declaration to go to 解决思路 找不 ...
- 成功解决Unexpected end of JSON input while parsing near的问题
成功解决Unexpected end of JSON input while parsing near的问题(执行npm install的时候报出的错误) 出现的问题,我是在命令行执行npm inst ...
- 解决“error #147 declaration is incompatible with xxx xxx (declared at line xx)”问题
今天分享一个很奇怪的问题,为什么说奇怪,因为今天分享的这个错误是我在移植代码时候遇到的,在其他人的工程中可以正常运行,而我自己的就运行报错,于是来给大家分享一下,说不定有小伙伴知道呢~ 错误问题 首先 ...
- 解决 unexpected EOF while looking for matching `“‘
原因在于符号 " 错误,解决办法:检查报错行的符号 例子: error: line 12: unexpected EOF while looking for matching `" ...
- 解决 Unexpected token u in JSON at position 0
精选30+云产品,助力企业轻松上云!>>> 可以确定是这个代码(JSON.parse())的问题. 解决的话就看一下你转换的数据是不是json字符串了. 如果数据可能是json字符串 ...
最新文章
- bzoj3270 博物馆
- 关于OC的内存管理-01
- 使用Pylint进行Python代码规范检查
- 参会全攻略 | 倒计时 7 天!30+ 位重量级嘉宾“聊”什么?
- android视频分享功能吗,Unity 调用 Android 分享功能(基于ShareRec SDK视频分享)
- ftp服务器文件查找功能,ftp服务器端查找功能
- P4548-[CTSC2006]歌唱王国【概率生成函数,KMP】
- 【物联网开发实战】- 设备上云方案详解?
- jvm lock低性能分析
- ASP网页开发重点源代码
- 基于微博评论的情感分析研究(小记)
- python+Aritest自动化——03—test_cace.py—写自动化测试用例
- 微云解析直链php源码,微云分享文件直链解析源码
- 网页游戏外挂的设计与编写:QQ摩天大楼【三】(登陆准备-信息发送方式)
- 记一次docker进不去容器的经历
- VGA线 1080P之伤 中秋节篇
- 过滤器、使用过滤器完成session效验
- 禅卡塔罗;追随它的指引,你会得到更多
- OpenNI_NITE_Installer-win32-0.27 + SimpleOpenNI 下载
- CSS3实现缺角矩形