Skip to content

classAssignments

Reports reassigning class declarations.

✅ This rule is included in the ts javascript presets.

Reassigning a class declaration can lead to unexpected behavior and makes code harder to understand. Class declarations are typically intended to be immutable references, and reassigning them can cause confusion about which class is being used.

AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyCla53 <{}d ivclassNa="meec-li">53MyClasA5<3 sp ansty="le--0:#F78C6C;--1:#AA09">8<20sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meco"><0;d>AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11Count53 <{}d ivclassNa="meec-li">53CountAE<++sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meco"><+;d>AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11Da53 <{}d ivclassNa="meec-li">53DatA5<3 sp ansty="le--0:#FF6A83;--1:#A248">48nu5<3;d ivclassNa="meco">
44AEc31111MyC3F5<3 { }divclass="Nameec-">44AEco61B0inst44A6E7<2new spans="tyle--0:#C792EA;--1:#88">4<4AE spans="tyle--0:#82AAFF;--1:#3B">61B0MyC3F5<3() ;divclass="Name"><;di vdivclass="Nameexpressive-">44AEc31111Cou3F5<3 { }divclass="Nameec-">44AEco61B0v44A3F53Coun<;di vdivclass="Nameexpressive-">44AEc31111MyC3F5<3 { }divclass="Nameec-">44AEco61B0der44AE = class exte61B0MyC44A3< {}>

This rule is not configurable.

If your project uses class reassignments as a design pattern, you might not be able to immediately enable this rule. Consider using differently-named variables instead to gain mutable references to classes.