default-case
在 switch
語句中要求 default
情況
有些程式碼慣例要求所有 switch
語句都必須有 default
情況,即使 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"*/
此規則的正確程式碼範例
在遊樂場中開啟
/*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
情況,您可以安全地停用此規則。
相關規則
版本
此規則是在 ESLint v0.6.0 中引入的。