【前端设计模式】单例模式

126 阅读1分钟

单例模式的作用

一个对象仅能被创建一次。该对象创建之后即被缓存,以供后续使用。

  • 性能要求单例(如登录框)
  • 功能要求单例(如Vuex)

标准单例模式

未命名文件(11).png

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