Chat with us, powered by LiveChat

Singleton Pattern in JavaScript

In the Singleton Pattern in JavaScript, there is exactly one instance of a class and there is no way to create multiple instances of the same class. Singleton objects are generally used to manage global state in an application.

let firebaseInstance = null;
export const getFirebase = () => {
  if (firebaseInstance !== null) {
    return firebaseIntance;
  }
  
  firebase.initializeApp(config);
  firebaseInstance = firebase;
  return firebaseInstance;
}

Using ES6 Classes

let singletonInstance = null;
class Singleton {
  constructor() {
    if (!singletonInstance) {
      singletonInstance = this;
      console.log("Instance created");
    }
    return singletonInstance;
  }
}
const singletonObject = new Singleton();

Using ES7 Classes

class Singleton {
  static singletonInstance = null;
  static getSingletonInstance() {
    if (!Singleton.singletonInstance) {
      Singleton.singletonInstance = new Singleton();
      console.log("Instance created");
    }
    return Singleton.singletonInstance;
  }
}
const singletonObject = Singleton.getSingletonInstance();