# no-eq-null

不允许没有类型检查运算符的 null 比较

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

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 规则。
Last Updated: 5/13/2023, 8:55:38 PM