# default-case
在 switch
语句中需要 default
个案例
一些代码约定要求所有 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
}
再一次,这里的目的是表明开发人员打算不存在默认行为。
# 规则详情
此规则旨在要求 switch
语句中的 default
案例。如果没有 default
案例,您可以选择在最后一个 case
之后包含一个 // no default
。注释可以是任何需要的情况,例如 // 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
案例,您可以安全地禁用此规则。