有没有办法计算类中的实例?

The*_*Cat 1 javascript class instance

我需要跟踪在该类中创建了多少个类的实例。我需要每个实例本身就知道它是“哪一个”。

我能想到的唯一方法是使用全局变量但是......可能有更好的方法。

这是我想避免的:

class MyClass {
    this.instanceId = (window.instanceCount == undefined) ? 0 : window.instanceCount + 1;
    window.instanceCount = this.instanceId;
    ...
}
Run Code Online (Sandbox Code Playgroud)

Mah*_*Ali 5

您可以使用static财产并增加它constructor()

class MyClass{
  static count = 0;
  constructor(){
    this.instanceId = ++MyClass.count;
  }
}
let x = new MyClass();
let y = new MyClass();

console.log(MyClass.count) //2

console.log(x.instanceId); //1
console.log(y.instanceId); //2
Run Code Online (Sandbox Code Playgroud)

  • 类字段仍然只是一个提案。您应该在发布带有使用它们的代码的答案时提及这一点。 (3认同)