function Proto() {
  this.getter;
  this._get = function() {
    return this.getter();
  }
  this.child = {};
  Object.defineProperty(this, "get", {
    enumerable: true,
    get: this._get
  });
  Object.defineProperty(this.child, "get", {
    enumerable: true,
    get: this._get
  });
}
function Sub() {
  this.getter = function() {
    return "ok";
  }
}
Sub.prototype = new Proto();
var s = new Sub();
s.get; //тут все выполняется
s.child.get; //тут ошибка this.getter undefined, что очевидно
В коде в последних строчках видно что появляется ошибка при доступе к свойству, в принципе нетрудно догадаться о причинах - this не указывает на нужный объект, однако применение
var thiz = this;
тут не поможет ибо thiz будет указывать на прототип, а не на Sub-объект, соотвественно getter`а тажке не будет.
Как быть?

