Constant vs readonly in typescript
Declaring a variable as readonly will not allow us to override even if they are public properties.
How const beha
A const variable cannot be re-assigned, just like a readonly property.
Essentially, when you define a property, you can use readonly to prevent re-assignment. This is actually only a compile-time check.
When you define a const variable (and target a more recent version of JavaScript to preserve const in the output), the check is also made at runtime.
So they effectively both do the same thing, but one is for variables and the other is for properties.
const x = 5;
// Not allowed
x = 7;
class Example {
public readonly y = 6;
}
var e = new Example();
// Not allowed
e.y = 4;
Important note... "cannot be re-assigned" is not the same as immutability.
const myArr = [1, 2, 3];
// Not allowed
myArr = [4, 5, 6]
// Perfectly fine
myArr.push(4);
// Perfectly fine
myArr[0] = 9;