CodeQL 文档

重复属性

ID: js/duplicate-property
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
   - external/cwe/cwe-563
Query suites:
   - javascript-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

在 ECMAScript 2015 及更高版本以及 ECMAScript 5 非严格模式中,对象文字可以多次定义同一个属性,后面的定义会覆盖前面的定义。如果所有定义都将相同的值赋予该属性,这在运行时不会导致问题,但会使代码更难阅读和维护。

建议

消除多余的重新定义。

示例

在以下示例中,传递给方法 css 的对象文字有两个属性 backgroundColor 的定义,都将它设置为值 "orange"

$(".alert").css({
  backgroundColor: "orange",
  fontWeight: "bold",
  backgroundColor: "orange"
});

第二个定义是多余的,应该删除

$(".alert").css({
  backgroundColor: "orange",
  fontWeight: "bold"
});

参考文献

  • Ecma 国际,《ECMAScript 语言定义》,第 5.1 版,附录 C。ECMA,2011 年。

  • Ecma 国际,《ECMAScript 语言定义》,第 6 版,附录 E。ECMA,2015 年。

  • 常见弱点枚举:CWE-563

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