switch 语句中的非 case 标签¶
ID: js/label-in-switch
Kind: problem
Security severity:
Severity: warning
Precision: very-high
Tags:
- reliability
- readability
Query suites:
- javascript-security-and-quality.qls
JavaScript 允许在 switch
语句的主体中自由混合 case
标签和普通语句标签。但是,这让人难以阅读(特别是如果两种标签的缩进量相同),而且很可能是由于打字错误造成的。
建议¶
检查语句标签,看看它们是否应该作为 case 标签。如果不是,请考虑将它们包装在一个语句块中并缩进它们,以便在视觉上将它们与 case 标签区分开来。
示例¶
在这个示例中,标签 case3
很可能打错了,应该是 case 3
,需要更正。
function f(x) {
switch (x) {
case 1:
case 2:
case3:
return true;
default:
return false;
}
}
参考¶
Ecma International,《ECMAScript 语言定义》,第 5.1 版,第 12.11 节。ECMA,2011 年。