Pull to refresh

Проба пера или мысли вслух

Reading time 1 min
Views 414

Гарантированный Singleton на JavaScript


Вспомнился мне паттерн Singleton, и я подумал — «А почему бы не сделать так?».


  1. function a(){ // a.constructor = Function()
  2.         var property;
  3.         this.property = function(value){
  4.                 if (value) {
  5.                         property = value;
  6.                         return property;
  7.                 } else {
  8.                         return property;
  9.                 }
  10.         }
  11. }
  12.  
  13. a = new a(); // a.constructor = a()
  14. var b = new a(); // Error: a is not a constructor

Объект есть со всеми его вкусностями вроде сокрытия реализации, а конструктора нет.

P.S. Проверял в FF (3.6, 3.5, 3.0, 2.0), Chrome 4, Safari 4, Opera (10.10, 9.64, 9.0), и IE (8, 7, 6).

Tags:
Hubs:
+2
Comments 21
Comments Comments 21

Articles