我正在评估一种在 JavaScript 中使用称为 Monostate 的单例模式的方法。
我有一些如下代码:
class Boss {
get name() { return Boss._name }
set name(value) {
Boss._name = value;
}
get age() { return Boss._age }
set age(value) {
Boss._age = value
}
toString() {
return `
Boss' name is ${this.name}
and he is ${this.age} years old.
`
}
}
Boss._age = undefined;
Boss._name = undefined;
但是我并没有深入理解 Class 范围与 Instance 范围之间的区别
我的意思是,如果我进行以下操作:
let boss = new Boss();
boss.name = 'Bob';
boss.age = 55;
let boss2 = new Boss();
boss2.name = 'Tom';
boss2.age = 33;
console.log(boss.toString());
console.log(boss2.toString());
我总是会用 name 获得第二个实例的数据Tom
,但为什么呢?
Boss' name is Tom and he is 33 years old.