版本

no-eq-null

禁止在没有类型检查运算符的情况下使用 null 进行比较

在没有类型检查运算符(==!=)的情况下与 null 进行比较可能会产生意外的结果,因为当不仅与 null 比较,而且与 undefined 值比较时,比较将评估为真。

if (foo == null) {
  bar();
}

规则详细信息

no-eq-null 规则旨在通过确保与 null 的比较仅匹配 null,而不是也匹配 undefined 来减少潜在的错误和意外行为。因此,当使用 ==!= 与 null 进行比较时,它将标记这些比较。

此规则的错误代码示例

在代码游乐场中打开
/*eslint no-eq-null: "error"*/

if (foo == null) {
  bar();
}

while (qux != null) {
  baz();
}

此规则的正确代码示例

在代码游乐场中打开
/*eslint no-eq-null: "error"*/

if (foo === null) {
  bar();
}

while (qux !== null) {
  baz();
}

何时不使用它

如果您想通常强制执行类型检查操作,请改用功能更强大的 eqeqeq

兼容性

  • JSHint:此规则对应于 JSHint 的 eqnull 规则。

版本

此规则是在 ESLint v0.0.9 中引入的。

资源

更改语言