Skip to content
← Back to rules

oxc/bad-bitwise-operator 制限

An auto-fix is available for this rule.

何を実行するか

論理演算子が期待される場面でビット演算子が使用された場合にこのルールが適用されます。

なぜ問題なのか

ビット演算子は論理演算子と異なる結果を返し、短絡評価が行われないため、TypeError の例外がスローされる可能性があります。 (短絡評価では、左側のオペランドの値に応じて右側のオペランドの評価がスキップされます。例:x && y において xfalse である場合。)

以下のコードパターンでは、論理演算子が明確に期待されていることがわかります:

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

参照