Skip to content

noUnsafeNegation

诊断类别:lint/suspicious/noUnsafeNegation

¥Diagnostic Category: lint/suspicious/noUnsafeNegation

自从:v1.0.0

¥Since: v1.0.0

来源:

¥Sources:

禁止使用不安全的否定。

¥Disallow using unsafe negation.

¥Examples

¥Invalid

!1 in [1,2];
code-block.js:1:1 lint/suspicious/noUnsafeNegation  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The negation operator is used unsafely on the left side of this binary expression.

> 1 │ !1 in [1,2];
^^^^^^^^^^^
2 │

Unsafe fix: Wrap the expression with a parenthesis

1 │ !(1·in·[1,2]);
+ +
/**test*/!/** test*/1 instanceof [1,2];
code-block.js:1:10 lint/suspicious/noUnsafeNegation  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The negation operator is used unsafely on the left side of this binary expression.

> 1 │ /**test*/!/** test*/1 instanceof [1,2];
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Unsafe fix: Wrap the expression with a parenthesis

1 │ /**test*/!/**·test*/(1·instanceof·[1,2]);
+ +

¥Valid

-1 in [1,2];
~1 in [1,2];
typeof 1 in [1,2];
void 1 in [1,2];
delete 1 in [1,2];
+1 instanceof [1,2];

¥Related links