JS.BASE.NO.NEGATED.CONDITION

Disallow negated conditions

Negated conditions are more difficult to understand. Code can be made more readable by inverting the condition instead.

Rule Details

This rule disallows negated conditions in either of the following:

  • if statements which have an else branch
  • ternary expressions

Examples of incorrect code for this rule:

Copy
/*eslint no-negated-condition: "error"*/

if (!a) {
    doSomething();
} else {
    doSomethingElse();
}

if (a != b) {
    doSomething();
} else {
    doSomethingElse();
}

if (a !== b) {
    doSomething();
} else {
    doSomethingElse();
}

!a ? c : b

Examples of correct code for this rule:

Copy
/*eslint no-negated-condition: "error"*/

if (!a) {
    doSomething();
}

if (!a) {
    doSomething();
} else if (b) {
    doSomething();
}

if (a != b) {
    doSomething();
}

a ? b : c

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/