Versions

no-eq-null

Disallow null comparisons without type-checking operators

在没有类型检查运算符(==!=)的情况下与 null 比较,可能会产生意想不到的结果,因为在与 nullundefined 的值比较时,比较结果将为真。

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

规则细节

no-eq-null 规则旨在通过确保对 null 的比较只匹配 null,而不匹配 undefined 来减少潜在错误和不需要的行为。因此,当使用 ==!= 时,它将标记对 null 的比较。

使用此规则的错误示例:

Open in Playground
/*eslint no-eq-null: "error"*/

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

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

使用此规则的正确示例:

Open in Playground
/*eslint no-eq-null: "error"*/

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

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

何时不用

如果你想在一般情况下执行类型检查操作,请使用更强大的 eqeqeq 代替。

兼容

JSHint:该规则对应于 JSHint 的 eqnull 规则。

Version

This rule was introduced in ESLint v0.0.9.

Resources

更改语言