oxc/bad-bitwise-operator 限制
它的作用
当在预期使用逻辑运算符的位置使用了位运算符时,此规则会被触发。
为什么这是不好的?
位运算符的结果与逻辑运算符不同,并且可能因未应用短路求值而抛出 TypeError 异常。
(在短路求值中,根据左操作数的值跳过对右操作数的求值,例如在 x && y 中,若 x 为 false,则不会计算 y。)
以下代码模式中,显然应使用逻辑运算符:
javascript
e && e.x;
e || {};
e || "";示例
此规则的错误代码示例:
javascript
if (obj & obj.prop) {
console.log(obj.prop);
}
options = options | {};
input |= "";此规则的正确代码示例:
javascript
if (obj && obj.prop) {
console.log(obj.prop);
}
options = options || {};
input ||= "";如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"oxc/bad-bitwise-operator": "error"
}
}bash
oxlint --deny oxc/bad-bitwise-operator