Simplified version of my code. I define getter-setter for var1, then I destructure it to child.
I expect child to get the definition of var1 but it does not. I expect the last line to print 40 40 when I set child.var1 but it prints 30 40 instead. If I use Object.assign the parent will get var2.
How do I retain the getter-setter of var1 on child but also I want the parent not to get var2?
let val = 10;
let parent = {
set var1(_val) {
val = _val;
},
get var1() {
return val;
}
}
console.log(parent.var1); // 10
parent.var1 = 20;
console.log(parent.var1); // 20
let child = { ...parent, var2: 1 };
parent.var1 = 30;
child.var1 = 40;
console.log(parent.var1, child.var1); // 30 40