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) {}