CodeQL 文档

无用比较测试

ID: js/useless-comparison-test
Kind: problem
Security severity: 
Severity: warning
Precision: high
Tags:
   - correctness
Query suites:
   - javascript-security-and-quality.qls

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

如果条件始终计算为真或始终计算为假,则通常表示代码不完整或存在潜在的错误,应仔细检查。

建议

检查周围的代码以确定条件冗余的原因。如果不再需要,请将其删除。

如果需要检查以防出现 NaN 值,请插入注释以解释 NaN 的可能性。

示例

以下示例查找数组给定切片中元素的索引

function findValue(values, x, start, end) {
  let i;
  for (i = start; i < end; ++i) {
    if (values[i] === x) {
        return i;
    }
  }
  if (i < end) {
    return i;
  }
  return -1;
}

但是,最后的条件 i < end 始终为假。如果删除冗余条件,可以使代码更清晰

function findValue(values, x, start, end) {
  for (let i = start; i < end; ++i) {
    if (values[i] === x) {
        return i;
    }
  }
  return -1;
}

参考

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