no-unnecessary-assignment
💼 This rule is enabled in the ✅ recommended
config.
Disallows useless assignments.
💠This rule requires type information.
Rule Details​
Sometimes, refactoring can lead to assignment statements that were once useful but are now redundant. This rule helps you clean up the dead code in a similar way that the @typescript-eslint/no-unnecessary-condition
rule does.
// Bad
declare let foo: 1;
declare let bar: 1;
foo = bar;
// Bad
declare let foo: number;
foo += 0;
// Bad
declare let foo: string;
foo += "";
// Bad
declare const foo: boolean;
const bar = foo || false;
const baz = foo && true;
// Bad
declare const foo: number;
const bar = foo || 0;
// Bad
declare const foo: string;
const bar = foo || "";
// Bad
declare const foo: string | null;
const bar = foo ?? null;
// Bad
declare const foo: string | undefined;
const bar = foo ?? undefined;
Note that while "<<" is technically a useless operator when combined with 0, this rule will not report on it so that bit flag enums will not cause false positives.
Options​
This rule is not configurable.