Open
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Playground Link
Repro Code
const foo: Record<string, number> = {};
const bar: string = 'key';
foo[bar] ??= 0; // foo[bar] is not initialized, but conditional assignment is flagged as unnecessary.
foo[bar] += 1;
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
rules: {
"@typescript-eslint/no-unnecessary-condition": "error",
},
};
tsconfig
Expected Result
No warning.
Actual Result
Unnecessary conditional, expected left-hand side of ??
operator to be possibly null or undefined. 4:1 - 4:9
Additional Info
This is basically #6264 which was fixed in #6452; I guess it resurfaced because the rule now checks logical assignments as of #6594.