deno.com

no-unsafe-negation

注意: 此规则是 recommended 规则集的一部分。
deno.json 中启用完整规则集:
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整规则集:
deno lint --rules-tags=recommended

禁止将否定运算符 ! 作为关系运算符的左操作数使用。

在以下运算符的左操作数中出现 ! 运算符时,由于运算符优先级的原因,有时会导致意外行为:

  • in 运算符
  • instanceof 运算符

例如,当开发者编写类似 !key in someObject 的代码时,他们很可能希望它的行为与 !(key in someObject) 相同,但实际上它的行为类似于 (!key) in someObject。此 lint 规则会警告此类 ! 运算符的使用,以减少混淆。

无效示例:

if (!key in object) {}
if (!foo instanceof Foo) {}

有效示例:

if (!(key in object)) {}
if (!(foo instanceof Foo)) {}
if ((!key) in object) {}
if ((!foo) instanceof Foo) {}

你找到需要的内容了吗?

隐私政策