no-unsafe-negation
注意: 此规则是
recommended
规则集的一部分。在
deno.json
中启用完整规则集{ "lint": { "tags": ["recommended"] } }
使用 Deno CLI 启用完整规则集
deno lint --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) {}