1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
class Used {
static flag = false;
static mutate = () => {
this.flag = true;
};
}
Used.mutate();
if (Used.flag) console.log('retained');
else console.log('unimportant');
class InstanceMutation {
static flag = false;
flag = false;
mutate = () => {
this.flag = true;
};
}
new InstanceMutation().mutate();
console.log('retained');
class UsedSuper {
static flag = false;
}
class UsedWithSuper extends UsedSuper {
static mutate = () => {
super.flag = true;
};
}
UsedWithSuper.mutate();
if (UsedWithSuper.flag) console.log('retained');
else console.log('unimportant');
// Assignments via "super" do NOT mutate the super class!
console.log('retained');
|