noExtraBooleanCast (since v1.0.0)
Diagnostic Category: lint/complexity/noExtraBooleanCast
Sources:
- Same as: 
no-extra-boolean-cast 
Disallow unnecessary boolean casts
Examples
Section titled ExamplesInvalid
Section titled Invalidif (!Boolean(foo)) {}code-block.js:1:6 lint/complexity/noExtraBooleanCast  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Avoid redundant `Boolean` call
  
  > 1 │ if (!Boolean(foo)) {
      │      ^^^^^^^^^^^^
    2 │ }
    3 │ 
  
  ℹ It is not necessary to use `Boolean` call when a value will already be coerced to a boolean.
  
  ℹ Unsafe fix: Remove redundant `Boolean` call
  
    1 │ if·(!Boolean(foo))·{
      │      --------   -   
while (!!foo) {}code-block.js:1:8 lint/complexity/noExtraBooleanCast  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Avoid redundant double-negation.
  
  > 1 │ while (!!foo) {}
      │        ^^^^^
    2 │ 
  
  ℹ It is not necessary to use double-negation when a value will already be coerced to a boolean.
  
  ℹ Unsafe fix: Remove redundant double-negation
  
    1 │ while·(!!foo)·{}
      │        --       
let x = 1;do {1 + 1;} while (Boolean(x));code-block.js:4:10 lint/complexity/noExtraBooleanCast  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Avoid redundant `Boolean` call
  
    2 │ do {
    3 │ 1 + 1;
  > 4 │ } while (Boolean(x));
      │          ^^^^^^^^^^
    5 │ 
  
  ℹ It is not necessary to use `Boolean` call when a value will already be coerced to a boolean.
  
  ℹ Unsafe fix: Remove redundant `Boolean` call
  
    4 │ }·while·(Boolean(x));
      │          -------- -  
for (; !!foo; ) {}code-block.js:1:8 lint/complexity/noExtraBooleanCast  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Avoid redundant double-negation.
  
  > 1 │ for (; !!foo; ) {}
      │        ^^^^^
    2 │ 
  
  ℹ It is not necessary to use double-negation when a value will already be coerced to a boolean.
  
  ℹ Unsafe fix: Remove redundant double-negation
  
    1 │ for·(;·!!foo;·)·{}
      │        --         
new Boolean(!!x);code-block.js:1:13 lint/complexity/noExtraBooleanCast  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Avoid redundant double-negation.
  
  > 1 │ new Boolean(!!x);
      │             ^^^
    2 │ 
  
  ℹ It is not necessary to use double-negation when a value will already be coerced to a boolean.
  
  ℹ Unsafe fix: Remove redundant double-negation
  
    1 │ new·Boolean(!!x);
      │             --   
Valid
Section titled ValidBoolean(!x);!x;!!x;