CodeQL 文档

Setter 中无用的返回值

ID: js/setter-return
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
   - language-features
Query suites:
   - javascript-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

从属性 Setter 函数中返回一个值是无用的,因为它将始终被忽略。

建议

完全删除 return 语句,或将其替换为一个简单的 return; 语句,它不返回值。

示例

以下示例展示了一个构造函数 Point,它在 xy 上使用属性访问器来确保它们只被设置为整数值。它从 Setter 中返回 xy 的新值,但这些返回值将被简单地忽略。

function Point(x, y) {
	return {
		get x() { return x; },
		set x(_x) { x = _x|0; return x; },
		get y() { return y; },
		set y(_y) { y = _y|0; return y; }
	};
}

省略 return 语句会更清晰

function Point(x, y) {
	return {
		get x() { return x; },
		set x(_x) { x = _x|0; },
		get y() { return y; },
		set y(_y) { y = _y|0; }
	};
}

参考资料

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