title: ES6 use `super` out of class definition
body: <p>I'm trying to add extra methods to class, and these extra methods should use the <code>super</code> methods.</p>
  
  <p>If I add them in the model definition, it works. </p>
  
  <pre><code>class A {
      doSomething() {
          console.log('logSomething');
      }
  
  }
  
  class B extends A {
      doSomething() {
          super.doSomething();
          console.log('logSomethingElse');
      }
  }
  </code></pre>
  
  <p>If I try to add the extra method to <code>B.prototype</code>, I'll get <code>SyntaxError: 'super' keyword unexpected here</code>.</p>
  
  <pre><code>class A {
      doSomething() {
          console.log('logSomething');
      }
  
  }
  
  class B extends A {
  }
  
  B.prototype.doSomething = function doSomething() {
      super.doSomething();
      console.log('logSomethingElse');
  }
  </code></pre>
  
  <p>It is quite clear, why I get this error. This is a function and not a class method. </p>
  
  <p>Let's try to define the method as a class method, and copy it to the original <code>B</code> class:</p>
  
  <pre><code>class A {
      doSomething() {
          console.log('logSomething');
      }
  
  }
  
  class B extends A {}
  
  class X {
      doSomething() {
          super.doSomething();
          console.log('2 logSomethingElse');
      }
  }
  
  B.prototype.doSomething = X.prototype.doSomething;
  </code></pre>
  
  <p>In this case I'll get <code>TypeError: (intermediate value).doSomething is not a function</code>.</p>
  
  <p>Is there any way to define methods (that refer to <code>super</code>) outside from the original class definition, and add these methods later to the original class?  </p>