How Vue's event can change const variable is possible?
The 'state' is the primitive const variable. Of course, it is impossible to change the value.
error: state
However, there is no error when increasing the state through the inline event.
Why is that?
CodePudding user response:
return {
state,
increase,
}
is short for
return {
state: state,
increase: increase
}
In other words, inside <template> you don't interact with the const state from <script>.
You interact with the template context's properties. Think of it as an object created by merging everything that needs to be exposed to the <template> (e.g: spread return of data, all computed, all methods, spread return of setup, all props, etc...)
And you can safely write to an object's property, unless it has been defined as writeable: false, which is clearly not the case.
Simple example:
const a = 1;
// a ; => Error: "Uncaught TypeError: Assignment to constant variable"
const b = {
a,
increment() {
this.a // 
