Skip to main content

noUnsafeNegation

Disallow using unsafe negation.

Examples

Invalid

!1 in [1,2];
warning[noUnsafeNegation]: The negation operator is used unsafely on the left side of this binary expression.
   noUnsafeNegation.js:1:1
  
1  !1 in [1,2];
   -----------

Suggested fix: Wrap the expression with a parenthesis
    | @@ -1 +1 @@
0   | - !1 in [1,2];
  0 | + !(1 in [1,2]);

/**test*/!/** test*/1 instanceof [1,2];
warning[noUnsafeNegation]: The negation operator is used unsafely on the left side of this binary expression.
   noUnsafeNegation.js:1:10
  
1  /**test*/!/** test*/1 instanceof [1,2];
            -----------------------------

Suggested fix: Wrap the expression with a parenthesis
    | @@ -1 +1 @@
0   | - /**test*/!/** test*/1 instanceof [1,2];
  0 | + /**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];