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