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
从属性 Setter 函数中返回一个值是无用的,因为它将始终被忽略。
建议¶
完全删除 return 语句,或将其替换为一个简单的 return;
语句,它不返回值。
示例¶
以下示例展示了一个构造函数 Point
,它在 x
和 y
上使用属性访问器来确保它们只被设置为整数值。它从 Setter 中返回 x
和 y
的新值,但这些返回值将被简单地忽略。
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; }
};
}
参考资料¶
Mozilla 开发者网络: 属性 Setter.