title: Simpler / better way to call shadowed prototype method?
body: <p>I'm writing an object hierarchy in JavaScript, I would like to call a method on an object's parent when I've shadowed that method in the object.</p>
  
  <p>E.g.:</p>
  
  <pre><code>var Base = function Base(msg) {
    this.msg = msg;
  }
  Base.prototype.log = function(){
    console.log("base log: " + this.msg);
  }
  
  var Sub = function Sub(msg) {
    Base.call(this, msg);
  }
  
  Sub.prototype = Object.create(Base.prototype);
  
  Sub.prototype.log = function() {
    console.log("sub log");
  
    this.__proto__.__proto__.log.call(this); // This works but __proto__
    Object.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this); // This works but is verbose
    super.log(); // This doesn't work
  }
  
  var sub = new Sub('hi');
  sub.log();
  </code></pre>
  
  <p>See the three lines at the bottom of the <code>Sub.prototype.log</code> function - is there a better way to do what I'm trying to do there? </p>
  
  <p>The second line is the best I've been able to come up with but is very verbose!</p>