版本

no-eq-null

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

在不使用类型检查运算符(==!=)的情况下与 null 进行比较可能会产生意外结果,因为当与 null 以及 undefined 值进行比较时,比较将评估为 true。

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 中引入。

资源

更改语言