playing with dynamic prototype

by Gerald Gillespie

JavaScript

class myClass {
  constructor() {
    console.log(this.Type);
    myClass.aStatic();
    this.value = 'value;'
  }
  
  aMethod(){
    
  }
  
  whatIsThisInReduce(){
    [1].reduce( (looper,item)=>{
      console.log('from reduce',this)
    },[])
  }
  
  static aStatic(){
    console.log(myClass.Type)
  }
}


class OtherClass{
  constructor(){
  
  }
  static Hi(name){
    return 'Hi ' + name;
  }
}


const class1 = new myClass();


const class2 = new myClass();



myClass.prototype.Type = { 
'TYPE1' : 1
}

class1.aMethod.whatever='hi';


class1.constructor.prototype['Hi'] = OtherClass.Hi

console.log( class1.aMethod.whatever, class2.aMethod.whatever)

console.log(class1.whatIsThisInReduce(),'type:', class1.Hi('Gerald'))
throw new Error('hi')