class Derived4 extends Base2 {
   constructor (a) {
      this = Object.create(new^.prototype);
      this.a = a;
    }
  isDerived4() {return true};
}
This is a code from Github site but I don't understand why the first argument of the Object.create(proto) is new^.prototype
