oxc/bad-bitwise-operator 限制
作用
當在預期使用邏輯運算符的地方使用位元運算符時,會套用此規則。
為什麼這樣不好?
位元運算符與邏輯運算符的結果不同,並且由於不套用短路求值,可能會拋出 TypeError
異常。(在短路求值中,會根據左運算元的值跳過右運算元的求值,例如 x
在 x && y
中為 false
。)
顯然在以下程式碼模式中預期使用邏輯運算符
javascript
e && e.x;
e || {};
e || "";
範例
javascript
if (obj & obj.prop) {
console.log(obj.prop);
}
options = options | {};
input |= "";