Skip to content
← Back to rules

eslint/no-bitwise Restriction

作用

禁止使用位运算符。

为什么不好?

在 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 模式中使用位运算 OR 进行类型转换。

例如使用 { "int32Hint": true } 时,允许以下代码:

javascript
const b = a | 0;

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "no-bitwise": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "no-bitwise": "error",
  },
});
bash
oxlint --deny no-bitwise

版本

此规则是在 v0.0.3 中添加的。

参考资料