Skip to content
← Back to rules

oxc/bad-object-literal-comparison 正确性

This rule is turned on by default.

它做了什么

检查对象字面量和数组字面量之间的比较。

为什么这是不好的?

将一个变量与对象字面量或数组字面量进行比较,结果总是 false,因为对象字面量和数组字面量永远不相等。

如果你想检查一个对象或数组是否为空,请使用 Object.entries()Object.keys() 及其长度。

示例

此规则的 错误 代码示例:

javascript
if (x === {}) {
}
if (arr !== []) {
}

此规则的 正确 代码示例:

javascript
if (typeof x === "object" && Object.keys(x).length === 0) {
}
if (Array.isArray(x) && x.length === 0) {
}

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "rules": {
    "oxc/bad-object-literal-comparison": "error"
  }
}
bash
oxlint --deny oxc/bad-object-literal-comparison

参考资料