eslint/default-case 限制
它的作用
强制所有 switch 语句包含一个 default 分支,除非明确通过配置的注释标记。
为什么这是个问题?
如果没有 default 分支,就无法判断省略是故意为之还是疏忽。添加 default 分支或特殊注释可以让代码意图更明确,减少错误。
如果不需要 default 分支,你也可以在最后一个 case 后添加 // no default。该注释可以使用任意大小写,例如 // No Default。
示例配置:
json
{
"default-case": ["error", { "commentPattern": "^skip\\sdefault" }]
}示例
此规则的 错误 代码示例:
js
switch (foo) {
case 1:
break;
}此规则的 正确 代码示例:
js
switch (a) {
case 1:
break;
default:
break;
}
switch (a) {
case 1:
break;
// no default
}配置
此规则接受一个配置对象,包含以下属性:
commentPattern
type: string
用于检测标记 default 分支不存在为有意为之的正则表达式模式。
默认值:no default。
使用 { "commentPattern": "^skip\\sdefault" } 选项时,此规则的 错误 代码示例:
js
switch (a) {
case 1:
break;
// no default
}使用 { "commentPattern": "^skip\\sdefault" } 选项时,此规则的 正确 代码示例:
js
switch (a) {
case 1:
break;
// skip default
}如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"default-case": "error"
}
}bash
oxlint --deny default-case