单例模式的作用
一个对象仅能被创建一次。该对象创建之后即被缓存,以供后续使用。
- 性能要求单例(如登录框)
- 功能要求单例(如Vuex)
标准单例模式
class Singleton {
private constructor() {}
private static instance: Singleton | null
static getInstance(): Singleton {
if(this.instance === null) {
this.instance = new Singleton()
}
return this.instance
}
}
const s1: Singleton = Singleton.getInstance()
const s2: Singleton = Singleton.getInstance()
console.log(s1 === s2) // true