typescript 静态单例
时间: 2023-12-21 11:27:45 浏览: 115
要实现 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`。
相关问题
typeScript单例模式
TypeScript中的单例模式是一种设计模式,它确保一个类只有一个实例存在,并提供全局访问点。这在需要控制类的实例数量和提供统一接口的情况下非常有用,比如数据库连接、日志记录等。
在TypeScript中实现单例模式,一般有以下几种方法:
1. **静态方法返回实例**:
通过在类中创建一个静态方法,该方法检查是否已有实例,如果没有,则创建并返回,如有则直接返回已有的实例。
```typescript
class Singleton {
private static _instance: Singleton;
private constructor() {}
public static getInstance(): Singleton {
if (!Singleton._instance) {
Singleton._instance = new Singleton();
}
return Singleton._instance;
}
}
```
typescript如何结合 static 即可实现单例模式
可以使用静态属性来实现单例模式,例如:
```
class Singleton {
private static instance: Singleton;
private constructor() {}
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
```
这样,每次调用 `Singleton.getInstance()` 都会返回同一个实例。
阅读全文