版本

no-bitwise

不允許位元運算子

在 JavaScript 中使用位元運算子非常罕見,而且通常 &| 只是錯誤輸入成 &&||,這會導致非預期的行為。

const x = y | z;

規則詳細資訊

此規則不允許位元運算子。

此規則的錯誤程式碼範例

在遊樂場開啟
/*eslint no-bitwise: "error"*/

let x = y | z;

const x1 = y & z;

const x2 = y ^ z;

const x3 = ~ z;

const x4 = y << z;

const x5 = y >> z;

const x6 = y >>> z;

x |= y;

x &= y;

x ^= y;

x <<= y;

x >>= y;

x >>>= y;

此規則的正確程式碼範例

在遊樂場開啟
/*eslint no-bitwise: "error"*/

let x = y || z;

const x1 = y && z;

const x2 = y > z;

const x3 = y < z;

x += y;

選項

此規則具有物件選項

  • "allow":允許使用位元運算子清單作為例外。
  • "int32Hint":允許在 |0 模式中使用位元 OR 進行型別轉換。

allow

此規則搭配 { "allow": ["~"] } 選項的正確程式碼範例

在遊樂場開啟
/*eslint no-bitwise: ["error", { "allow": ["~"] }] */

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

int32Hint

此規則搭配 { "int32Hint": true } 選項的正確程式碼範例

在遊樂場開啟
/*eslint no-bitwise: ["error", { "int32Hint": true }] */

const b = a|0;

版本

此規則在 ESLint v0.0.2 中引入。

資源

變更語言