Dalam software engineering, pattern Singleton adalah desain pattern yang membatasi pembuatan instance dari kelas hanya kepada satu objek. Hal ini berguna dalam kondisi ketika hanya satu objek saja untuk mengkoordinasi seluruh sistem.

Berikut ini adalah contoh pattern Singleton dengan menggunakan Javascript EcmaScript 5.

var MyClass = function() {
  if (MyClass.my_awesome_instance) {
    return MyClass.my_awesome_instance;
  }

  // cache instance
  MyClass.my_awesome_instance = this;
  return this;
}

// Contoh penggunaan
var obj1 = new MyClass();
var obj2 = new MyClass();

if (obj1 === obj2) {
  console.log("obj1 sama dengan obj2");
} else {
  console.log("obj1 tidak sama dengan obj2");
}

// output: obj1 sama dengan obj2

// assignment pada obj1, hasil sama dengan obj2
obj1.test = 1
console.log(obj2.test) // => 1