Javascript 在不创建新实例的情况下重新初始化类实例?

Javascript 在不创建新实例的情况下重新初始化类实例?,javascript,Javascript,我想知道是否有一种标准的方法可以重新初始化或重新构造一个类实例而不同时创建一个新实例 假设我有一个TestClass实例: class TestClass { constructor() { this.x=0; this.y=50; this.z=200; } } var testClassInstance=new TestClass(); 基本上,我调整了它的一些值 testClassInstance.x+=250; testClassInstance.y-

我想知道是否有一种标准的方法可以重新初始化或重新构造一个类实例而不同时创建一个新实例

假设我有一个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()

安全可靠?

这个答案是因为这个问题的第一个版本而产生的。
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
你的课从不修改。类是一个实现,您修改的是使用该实现创建的实例

查看此代码片段:

class测试类{
构造函数(){
这个.x=0;
这个y=50;
这个z=200;
}
}
var testClassInstance=newtestclass();
testClassInstance.x+=250;
testClassInstance.y-=20;
log(testClassInstance.x);
日志(testClassInstance.y);
var anotherTestClassInstance=newTestClass();
log(另一个testClassInstance.x);

log(另一个testClassInstance.y)你可以向类中添加一个函数来重置值,并调用它而不是构造函数()。你为什么不创建另一个方法,比如说reset(),它可以还原初始值。已经有一个很好的答案了,所以我不会碍事。我很好奇,为什么你需要这个功能?你的问题完全不清楚,你说的是类,但你想重置对象。@Zlatko我应该说得更具体些。我意识到这不是我真正需要的信息,但不管怎样,仍然是有用的答案。我正在使用THREEjs orbit控件,需要启用/禁用它们。但是现在来看,这个问题与它的语法无关。