Eslint参考手册
规则 | Rules
default-case
一些代码约定要求所有switch
语句都有一个default
案例,即使默认情况下是空的,例如:
switch (foo) {
case 1:
doSomething();
break;
case 2:
doSomething();
break;
default:
// do nothing
}
我们的想法是,最好总是明确说明默认行为应该是什么,以便明确开发人员是否忘记了错误地包含默认行为。
其他代码约定允许您跳过该default
案例,只要有注释表明该省略是故意的,例如:
switch (foo) {
case 1:
doSomething();
break;
case 2:
doSomething();
break;
// no default
}
这里的意图再一次表明,开发者打算在那里没有默认行为。
规则细节
此规则旨在要求default
的情况下,switch
语句。如果没有任何default
情况,您可以选择包含// no default
最后一个case
。评论可能在任何需要的情况下,例如。// No Default
此规则的错误代码示例:
/*eslint default-case: "error"*/
switch (a) {
case 1:
/* code */
break;
}
此规则的正确代码示例:
/*eslint default-case: "error"*/
switch (a) {
case 1:
/* code */
break;
default:
/* code */
break;
}
switch (a) {
case 1:
/* code */
break;
// no default
}
switch (a) {
case 1:
/* code */
break;
// No Default
}
选项
该规则接受单个选项参数:
- 将该
commentPattern
选项设置为正则表达式字符串以更改默认/^no default$/i
评论测试模式
commentPattern
选项的正确代码示例{ "commentPattern": "^skip\\sdefault" }
:
/*eslint default-case: ["error", { "commentPattern": "^skip\\sdefault" }]*/
switch(a) {
case 1:
/* code */
break;
// skip default
}
switch(a) {
case 1:
/* code */
break;
// skip default case
}
何时不使用它
如果您不想强制switch
声明某个default
案例,则可以安全地禁用此规则。
相关规则
- no-fallthrough
版本
这条规则是在 ESLint 0.6.0 中引入的。
资源
- Rule source
- Documentation source
规则 | Rules相关
ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |