Skip to content
← Back to rules

eslint/no-bitwise 制限

何をするか

ビット演算子の使用を禁止する

なぜ悪いのか

JavaScript においてビット演算子を使用することは非常に稀であり、&| は単に &&|| のタイプミスであることが多く、予期しない動作を引き起こす原因となる。

このルールに関して 誤り なコードの例:

javascript
var x = y | z;
javascript
var x = y ^ z;
javascript
var x = y >> z;

このルールに関して 正しい コードの例:

javascript
var x = y || z;
javascript
var x = y && z;
javascript
var x = y > z;

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

allow

type: string[]

default: []

allow オプションは、指定されたビット演算子のリストをこのルールの例外として許可する。

たとえば { "allow": ["~"] } とすると、~ ビット演算子の使用が制限なく許可される。以下のように利用可能になる:

javascript
~[1, 2, 3].indexOf(1) === -1;

int32Hint

type: boolean

default: false

true に設定した場合、int32Hint オプションにより、型変換のために |0 パターンでのビット論理和演算子の使用が許可される。

たとえば { "int32Hint": true } とすると、以下の記述が許可される:

javascript
const b = a | 0;

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにする:

json
{
  "rules": {
    "no-bitwise": "error"
  }
}
bash
oxlint --deny no-bitwise

参照