oxc/bad-bitwise-operator 限制
作用
此规则适用于在应该使用逻辑运算符的地方使用了位运算符的情况。
为什么这么做很糟糕?
位运算符和逻辑运算符的结果不同,并且可能会抛出 TypeError
异常,因为没有应用短路求值。(在短路求值中,将根据左操作数的值跳过对右操作数的求值,例如在 x && y
中,x
为 false
。)
很明显,在以下代码模式中需要使用逻辑运算符
javascript
e && e.x;
e || {};
e || "";
示例
javascript
if (obj & obj.prop) {
console.log(obj.prop);
}
options = options | {};
input |= "";