跳至内容

oxc/bad-bitwise-operator 限制

作用

此规则适用于在应该使用逻辑运算符的地方使用了位运算符的情况。

为什么这么做很糟糕?

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

很明显,在以下代码模式中需要使用逻辑运算符

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

示例

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

参考资料

根据 MIT 许可证发布。