JS Class单例模式
时间: 2023-11-18 11:05:57 浏览: 489
JS Class单例模式是一种设计模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。
在JS中,可以通过使用类的静态属性和方法来实现单例模式。静态属性和方法只能在类本身上调用,而不是在实例上调用。通过静态属性和方法,我们可以确保只有一个实例被创建,并且可以全局访问该实例。
下面是一个使用JS Class实现单例模式的示例:
```javascript
class Singleton {
static instance;
constructor() {
if (!Singleton.instance) {
Singleton.instance = this;
}
return Singleton.instance;
}
sayHello() {
console.log("Hello World!");
}
}
const instance1 = new Singleton();
const instance2 = new Singleton();
console.log(instance1 === instance2); // true
instance1.sayHello(); // "Hello World!"
instance2.sayHello(); // "Hello World!"
```
在上面的示例中,我们定义了一个名为Singleton的类,该类具有一个静态属性instance和一个构造函数。构造函数检查是否已经有一个实例存在,如果不存在,则创建一个新实例并将其分配给instance属性。否则,返回现有实例。
我们创建了两个Singleton实例instance1和instance2,并检查它们是否相等。由于使用了单例模式,它们是相等的。
最后,我们调用实例的sayHello方法,它将输出“Hello World!”到控制台。
阅读全文