Skip to content

[@typescript-eslint/no-unnecessary-condition] False-negative with ??= #3553

Closed
@boris-petrov

Description

@boris-petrov
  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.
  • I have read the FAQ and my problem is not listed.

Repro

const result: { [key: number]: number } = {};
result[1] ??= 1;
{
  "rules": {
    '@typescript-eslint/no-unnecessary-condition': ['error', {
      allowConstantLoopConditions: true,
      allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false,
    }],
  }
}

Expected Result

An error of that rule to be reported.

Actual Result

No error.

Additional Info

if (result[1] == null) {
  result[1] = 1;
}

This does result in an error so the other code should too.

Versions

package version
@typescript-eslint/eslint-plugin 4.27.0
@typescript-eslint/parser 4.27.0
TypeScript 4.3.4
ESLint 7.28.0
node 16.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions