跳至內容

oxc/bad-bitwise-operator 限制

作用

當在預期使用邏輯運算符的地方使用位元運算符時,會套用此規則。

為什麼這樣不好?

位元運算符與邏輯運算符的結果不同,並且由於不套用短路求值,可能會拋出 TypeError 異常。(在短路求值中,會根據左運算元的值跳過右運算元的求值,例如 xx && y 中為 false。)

顯然在以下程式碼模式中預期使用邏輯運算符

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

範例

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

參考

依 MIT 授權條款發布。