Skip to content

Enhancement: [@typescript-eslint/no-unnecessary-condition] Detect unnecessary comparison to falsy values #5021

Closed
@Samuel-Therrien-Beslogic

Description

Before You File a Proposal Please Confirm You Have Done The Following...

My proposal is suitable for this project

  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Link to the rule's documentation

https://typescript-eslint.io/rules/no-unnecessary-condition/

Description

I would like unnecessary falsy values checks when the variable is already checked for truthiness in the same condition chain to be raised. I often see newer devs not realize that their condition is redundant.

Fail

const myVar = '' as string | number;

if (myVar && myVar !== '') {
  // do something
}

if (myVar && myVar !== 0) {
  // do something
}

if (myVar && !!myVar ) {
  // do something
}

Pass

const myVar = '' as string | number;

if (myVar) {
  // do something
}

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions