使用新版的 es-lint 的时候扫描旧的项目,发现报了 Unexpected lexical declaration in case block(no-case-declarations) 这么一个错误提示...https://cn.eslint.org/docs/rules/no-case-declarations 几番实验后,其实归根结底是代码作用域的问题: switch (2) { case 1:
= 'no-case-declarations': 'error', // 不允许在case/default子句中使用词法声明 'no-nested-ternary': 'error',
在 case 和 default 子句中,使用大括号来创建包含词法声明的语句块(例如 let, const, function, 和 class). eslint: no-case-declarations
, { vars: "all", args: "after-used", }, ], "no-case-declarations
typeof 表达式与有效的字符串(如: 'undefined', 'object', 'boolean', 'number', 'string', 'function','symbol')进行比较 'no-case-declarations
no-inner-declarations': 'off', // switch 的 case 内有变量定义的时候,必须使用大括号将 case 内变成一个代码块 // @off 太严格 'no-case-declarations
}, "plugins": ["@typescript-eslint", "prettier"], "rules": { "prettier/prettier": "error", "no-case-declarations
/camelcase': 0, '@typescript-eslint/no-explicit-any': 0, 'no-irregular-whitespace': 2, 'no-case-declarations
switch 的 case 内有变量定义的时候,必须使用大括号将 case 内变成一个代码块 * @category Best Practices */ 'no-case-declarations
领取专属 10元无门槛券
手把手带您无忧上云