title: Typescript overriding extended property within constructor
body: <p>I'm having an issue with Typescript where I extend a class and override a property from the super, however the super class property is still read in the constructor when I instantiate the sub class. Please see the below example:</p>
  
  <pre><code>class Person {
  
      public type:string = 'Generic Person';
  
      public constructor() {
          console.log(this.type);
      }
  
  }
  
  class Clown extends Person {
  
      public type:string = 'Scary Clown';
  
  }
  
  var person = new Person(), // 'Generic Person'
      clown = new Clown(); // 'Generic Person'
  
  console.log(person.type); // 'Generic Person'
  console.log(clown.type); // 'Scary Clown'
  </code></pre>
  
  <p>My expected behaviour would be 'Scary Clown' when I instantiate an instance of Clown. Is there another way I can achieve this without passing the values into the constructor itself or having some sort of init method that I fire manually after instantiating?</p>
  
  <p>Thanks in advance :)</p>