跳至正文
首页 » 博客 » How to Add a Static Member Property in a JavaScript Class

How to Add a Static Member Property in a JavaScript Class

最近在解决问题时,我遇到了在JavaScript类中创建一个属性的要求,该属性需要由所有对象实例共享。在编程世界中,这些类型的属性称为静态属性。

有各种情况下,当你需要一个静态成员属性:

  • 计算从特定类创建的对象实例的数量时
  • 在类级别而不是对象实例级别等记录某些信息时。

要创建静态属性,您应该知道两件重要的事情:

  1. JavaScript类不能具有成员属性。您只能使用构造函数创建它
  2. 与函数构造函数一样,JavaScript类也有一个原型

好吧,如果您是原型的拥护者,那么此时您一定已经猜到了答案。无论如何,让我们向前看实施,

Foo{

构造函数(目标) {
这个。目标 = 目标;
Foo.prototype.objectcount;
}

}
Foo.prototype.objectcount = 0;

让我们来谈谈Foo类的实现,

  1. 我们向Foo类原型添加了一个属性
  2. 在构造函数中递增它,因为每次创建对象时都会调用构造函数

基本上创建一个静态属性成员,添加一个属性类原型对象。现在,创建Foo类的实例,

f1 =新建Foo(78);
console.log(f1.objectcount);// 1
f2 =新建Foo(45);
console.log(f2.objectcount)// 2
f3 =新建Foo(45);
console.log(f3.objectcount)// 2
console.log(f1.objectcount === f2.objectcount);// true
console.log(f2.objectcount === f3.objectcount);// true

你现在可以看到objectcount跟踪所有对象的计数。它对于所有对象实例也是相同的,因此,它可以被称为JavaScript类的静态成员属性。

我希望你发现这个快速提示有用。