Versions

no-bitwise

Disallow bitwise operators

在 JavaScript 中使用位运算符的情况非常少,通常 &|| 都只是输入 &&|| 时手抖了而已,这将导致意外行为。

var x = y | z;

规则细节

这条规则不允许使用位运算符。

使用此规则的错误示例:

Open in Playground
/*eslint no-bitwise: "error"*/

var x = y | z;

var x = y & z;

var x = y ^ z;

var x = ~ z;

var x = y << z;

var x = y >> z;

var x = y >>> z;

x |= y;

x &= y;

x ^= y;

x <<= y;

x >>= y;

x >>>= y;

使用此规则的正确示例:

Open in Playground
/*eslint no-bitwise: "error"*/

var x = y || z;

var x = y && z;

var x = y > z;

var x = y < z;

x += y;

选项

此规则选项为对象:

  • "allow":允许此列表中的位运算符在例外情况下使用。
  • "int32Hint":允许在 |0 模式下使用位运算符进行类型转换。

allow

使用此规则与 { "allow": ["~"] } 选项的正确示例:

Open in Playground
/*eslint no-bitwise: ["error", { "allow": ["~"] }] */

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

int32Hint

使用此规则与 { "int32Hint": true } 选项的正确示例:

Open in Playground
/*eslint no-bitwise: ["error", { "int32Hint": true }] */

var b = a|0;

Version

This rule was introduced in ESLint v0.0.2.

Resources

更改语言