白筱汐

想都是问题,做都是答案

0%

JavaScript设计模式——单例模式

单例模式

单例模式,保证一个类只有一个实例。多次创建新对象的时候,只返回第一次创建的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Singleton {

static _instance;

constructor() {
if (Singleton._instance) {
return Singleton._instance;
}
Singleton._instance = this;
}

static getInstance() {
if (!Singleton._instance) {
Singleton._instance = new Singleton();
}
return Singleton._instance;
}
}

const instance1 = Singleton.getInstance();
const instance2 = new Singleton();
const instance3 = new Singleton();

console.log(instance1 === instance2);
console.log(instance2 === instance3);