Reports attempting to reassign variables declared with const.
✅ This rule is included in the ts javascript presets.
The const keyword creates a read-only reference to a value, preventing reassignment.
While properties of const objects and elements of const arrays can be mutated, the binding itself cannot be reassigned.
Attempting to reassign a const variable results in a runtime error.
AEconsB0valAE <= sp ansty="le--0:#F78C6C;--1:#AA09">8= sp><21sp ansty="le--0:#D6DEEB;--1:#403F">521sp><3;d ivclassNa="meec-li">53valuA5<3 sp ansty="le--0:#F78C6C;--1:#AA09">83 sp><22sp ansty="le--0:#D6DEEB;--1:#403F">522sp>3;d><3;d ivclassNa="meco"><2;d>2;d>3;d>AEconsB0resuAE <= sp ansty="le--0:#82AAFF;--1:#3B61">B0getVal= sp>53(<);d ivclassNa="meec-li">53resulA5<3 sp ansty="le--0:#82AAFF;--1:#3B61">B0getOtherVal3 sp>53();d><);d ivclassNa="meco"><);d>);d>);d>AEconsB0countAE <= sp ansty="le--0:#F78C6C;--1:#AA09">8= sp><20sp ansty="le--0:#D6DEEB;--1:#403F">520sp><3;d ivclassNa="meec-li">53countAE<++sp ansty="le--0:#D6DEEB;--1:#403F">5++sp>3;d><3;d ivclassNa="meco"><+;d>+;d>3;d>AEconst <{ sp ansty="le--0:#82AAFF;--1:#3B61">B0proper{ sp>AE } <= sp ansty="le--0:#D6DEEB;--1:#403F">53objec= sp>53propertA5<3 sp ansty="le--0:#D9F5DD;--1:#1111">13 sp><1"sp ansty="le--0:#ECC48D;--1:#984E">4Dnew val1"sp>1<1"sp ansty="le--0:#D6DEEB;--1:#403F">51"sp><3;d ivclassNa="meco"><";d>";d>3;d>AEf53< (sp ansty="le--0:#C792EA;--1:#8844">AEcons (sp>B0itA7253 items)< {d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">53ite sp>A5<3 sp ansty="le--0:#82AAFF;--1:#3B61">B0processIt3 sp>53(item {d><);d ivclassNa="meec-li">5);d><3}d ivclassNa="meco"><}d>}d>3}d> 44AE3F53v44A0<9821 spans="tyle--0:#D6DEEB;--1:#40">39821>3F53va4<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>0<9822 spans="tyle--0:#D6DEEB;--1:#40">39822><= 2>= 2><;di vdivclass="Nameexpressive-">44AEco61B0ob44AE = { val0<9821 spans="tyle--0:#C792EA;--1:#88">449821>33F53ob4<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E72v4AE.>34<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>0<9822 spans="tyle--0:#D6DEEB;--1:#40">39822><= 2>= 2>;di><;di vdivclass="Nameexpressive-">44AEco61B0a443F<53 [ spans="tyle--0:#F78C6C;--1:#AA">053 [><9821 spans="tyle--0:#D6DEEB;--1:#40">3F9821><53, spans="tyle--0:#F78C6C;--1:#AA">053, ><9822 spans="tyle--0:#D6DEEB;--1:#40">3F9822><53, spans="tyle--0:#F78C6C;--1:#AA">053, ><9823 spans="tyle--0:#D6DEEB;--1:#40">3F9823><53] ;divclass="Nameec-">3F53a4<4AE. spans="tyle--0:#82AAFF;--1:#3B">61B04AE.>30<9824 spans="tyle--0:#D6DEEB;--1:#40">3F9824>53]><53) ;divclass="Name"><(4)>(4)>53)>;di><;di vdivclass="Nameexpressive-">44AEcons61B0prop44AE <} = spans="tyle--0:#D6DEEB;--1:#40">3F53obj} = >3F53con4<4AE. spans="tyle--0:#82AAFF;--1:#3B">61B4AE.><0log spans="tyle--0:#D6DEEB;--1:#40">3F53(proper0log>;di><;di vdivclass="Nameexpressive-">44A3F<53 ( spans="tyle--0:#C792EA;--1:#88">44AE53 (>3F53- 4
<4AE spans="tyle--0:#7FDBCA;--1:#09">6E4AE ><72of spans="tyle--0:#D6DEEB;--1:#40">3F53 item72of>3F<53 spans="tyle--0:#D6DEEB;--1:#40">3F53i53 >4<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>61B0process- 3F53(it
3<);>);>;di>
This rule is not configurable.
If your codebase relies on non-standard behavior that involves reassigning constant variables (which is highly discouraged), you might choose to disable this rule.
For example, if you target a legacy runtime with non-standard JavaScript semantics, standard practices may not apply to you.