Hacker News new | ask | show | jobs
by Symen 3220 days ago
But transparent getters and setters can be used to emulate private or immutable properties:

    function Foo() {
      var _bar = 42;
      return {
        get bar() {
          return _bar;
        }
      } 
    }

    var foo = Foo();
    foo.bar
    /*
    42
    */
However the fact that you can transparently replace a simple property by a computed one (e.g. for backwards compatibility or to trigger side effects in observables) does make explicit, Java-style, getters and setters less useful.