Skip to content
← Back to rules

oxc/bad-bitwise-operator 限制

An auto-fix is available for this rule.

它的作用

当在预期使用逻辑运算符的位置使用了位运算符时,此规则会被触发。

为什么这是不好的?

位运算符的结果与逻辑运算符不同,并且可能因未应用短路求值而抛出 TypeError 异常。
(在短路求值中,根据左操作数的值跳过对右操作数的求值,例如在 x && y 中,若 xfalse,则不会计算 y。)

以下代码模式中,显然应使用逻辑运算符:

javascript
e && e.x;
e || {};
e || "";

示例

此规则的错误代码示例:

javascript
if (obj & obj.prop) {
  console.log(obj.prop);
}
options = options | {};
input |= "";

此规则的正确代码示例:

javascript
if (obj && obj.prop) {
  console.log(obj.prop);
}
options = options || {};
input ||= "";

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "oxc/bad-bitwise-operator": "error"
  }
}
bash
oxlint --deny oxc/bad-bitwise-operator

参考资料