我想知道是否有一种标准方法可以重新初始化或重构一个类实例,而无需一起创建新实例。
我们说我有一个TestClass实例:
class TestClass {
constructor() {
this.x=0;
this.y=50;
this.z=200;
}
}
var testClassInstance=new TestClass();
基本上,加班我调整了它的一些价值观。
testClassInstance.x+=250;
testClassInstance.y-=20;
然后我想将其所有值重置为创建实例时定义的任何值。我想知道是否有办法基本上重新初始化它,而不创建一个全新的实例?
类似于
testClassInstance.constructor()
安全可靠吗?
答案 0 :(得分:2)
class TestClass {
constructor() {
this.reset();
}
reset(){
this.x=0;
this.y=50;
this.z=200;
}
}
const myTestClass = new TestClass();
myTestClass.x = 5;
console.log(myTestClass.x); // 5
myTestClass.reset();
console.log(myTestClass.x); // 0
答案 1 :(得分:2)
您的课程从未被修改过。该类是一个实现,您修改的是使用该实现创建的实例。
查看此代码段:
class TestClass {
constructor() {
this.x=0;
this.y=50;
this.z=200;
}
}
var testClassInstance=new TestClass();
testClassInstance.x+=250;
testClassInstance.y-=20;
console.log(testClassInstance.x);
console.log(testClassInstance.y);
var anotherTestClassInstance=new TestClass();
console.log(anotherTestClassInstance.x);
console.log(anotherTestClassInstance.y);