noConstAssign (since v1.0.0)
Diagnostic Category: lint/correctness/noConstAssign
Source: no-const-assign
Prevents from having const
variables being re-assigned.
Trying to assign a value to a const
will cause an TypeError
when the code is executed.
Examples
Section titled ExamplesInvalid
Section titled Invalidconst a = 1;a = 4;
correctness/noConstAssign.js:2:1 lint/correctness/noConstAssign FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Can't assign a because it's a constant
1 │ const a = 1;
> 2 │ a = 4;
│ ^
3 │
ℹ This is where the variable is defined as constant
> 1 │ const a = 1;
│ ^
2 │ a = 4;
3 │
ℹ Unsafe fix: Replace const with let if you assign it to a new value.
1 │ - const·a·=·1;
1 │ + let·a·=·1;
2 2 │ a = 4;
3 3 │
const a = 2;a += 1;
correctness/noConstAssign.js:2:1 lint/correctness/noConstAssign FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Can't assign a because it's a constant
1 │ const a = 2;
> 2 │ a += 1;
│ ^
3 │
ℹ This is where the variable is defined as constant
> 1 │ const a = 2;
│ ^
2 │ a += 1;
3 │
ℹ Unsafe fix: Replace const with let if you assign it to a new value.
1 │ - const·a·=·2;
1 │ + let·a·=·2;
2 2 │ a += 1;
3 3 │
const a = 1;++a;
correctness/noConstAssign.js:2:3 lint/correctness/noConstAssign FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Can't assign a because it's a constant
1 │ const a = 1;
> 2 │ ++a;
│ ^
3 │
ℹ This is where the variable is defined as constant
> 1 │ const a = 1;
│ ^
2 │ ++a;
3 │
ℹ Unsafe fix: Replace const with let if you assign it to a new value.
1 │ - const·a·=·1;
1 │ + let·a·=·1;
2 2 │ ++a;
3 3 │
const a = 1, b = 2;
a = 2;
correctness/noConstAssign.js:3:1 lint/correctness/noConstAssign FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Can't assign a because it's a constant
1 │ const a = 1, b = 2;
2 │
> 3 │ a = 2;
│ ^
4 │
ℹ This is where the variable is defined as constant
> 1 │ const a = 1, b = 2;
│ ^
2 │
3 │ a = 2;
ℹ Unsafe fix: Replace const with let if you assign it to a new value.
1 │ - const·a·=·1,·b·=·2;
1 │ + let·a·=·1,·b·=·2;
2 2 │
3 3 │ a = 2;
Valid
Section titled Validconst a = 10;let b = 10;b = 20;