CodeQL 文档

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

点击查看 CodeQL 代码库中的查询

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 年。

  • ©GitHub, Inc.
  • 条款
  • 隐私