CodeQL 文档

对属性的无用赋值

ID: js/useless-assignment-to-property
Kind: problem
Security severity: 
Severity: warning
Precision: high
Tags:
   - maintainability
Query suites:
   - javascript-security-and-quality.qls

点击查看 CodeQL 存储库中的查询

为变量或属性赋值,但该位置要么之后从未被读取,要么其值总是在被读取之前被覆盖。这意味着原始赋值没有效果,可能表明存在逻辑错误或代码不完整。

建议

确保仔细检查方法中的控制流和数据流。如果一个值真的不需要,请考虑省略赋值。但是,请注意:如果右侧具有副作用(例如执行方法调用),则保留它以维护整体行为非常重要。

示例

在以下示例中,第 2 行对 send 的调用返回值被赋予局部变量 result,但从未使用。

function f(x) {
	var result = send(x);
	waitForResponse();
	return getResponse();
}

假设 send 返回一个状态码,指示操作是成功还是失败,则应检查 result 的值,可能像这样

function f(x) {
	var result = send(x);
	// check for error
	if (result === -1)
		throw new Error("send failed");
	waitForResponse();
	return getResponse();
}

参考

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