JavaScript设计模式——单例模式

66 阅读1分钟

单例模式

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

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);