typescript如何结合 static 即可实现单例模式
时间: 2023-03-31 16:01:32 浏览: 72
可以使用静态属性来实现单例模式,例如:
```
class Singleton {
private static instance: Singleton;
private constructor() {}
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
```
这样,每次调用 `Singleton.getInstance()` 都会返回同一个实例。
相关问题
请用typescript写一段单例模式的代码
好的,以下是typescript单例模式的代码:
class Singleton {
private static instance: Singleton;
private constructor() {}
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
这段代码实现了一个单例模式,保证了在应用程序中只有一个实例被创建。
typescript 静态单例
要实现 TypeScript 中的静态单例,可以使用类的静态属性来存储单例实例,并将构造函数设为私有,防止外部直接实例化。具体实现如下:
```typescript
class Singleton {
private static instance: Singleton;
private constructor() {}
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
```
在上述代码中,`instance` 是类的静态属性,用于存储单例实例。`constructor` 被设为私有,防止外部直接实例化。`getInstance` 方法用于获取单例实例,如果 `instance` 不存在,则创建一个新的实例并返回,否则直接返回 `instance`。