title: Angular Input() takes undefined after providing default value
body: <p>Below is Input decorator used with 3 variables and assigned default values to each variable</p>
  
  <pre><code>  @Input() score: number = 0;
    @Input() text: string = 'test';
    @Input() color: string = 'red';
  </code></pre>
  
  <p>This is how I am passing values to the component inside a ngFor.</p>
  
  <pre><code>  [text]="item.name"
    [score]="item.score"
    [color]="item.color"
  </code></pre>
  
  <p>If my item object does not contain <strong>color property</strong> then the color variable in the component should take <strong>'red'</strong> as default value.</p>
  
  <p>But when I log it as :</p>
  
  <pre><code>ngOnInit() {
      console.log(this.score, this.text, this.color);
    }
  </code></pre>
  
  <p>then the color variable takes <strong>undefined</strong> as value.</p>
  
  <p>Here is the console for above logs for</p>
  
  <pre><code>8 "English" undefined
  6 "Spanish" "blue"
  </code></pre>
  
  <p>The 1st log is when the item <strong>does not</strong> contain <strong>color</strong> property, and 2nd is when it contains property <strong>color</strong> with value <strong>blue</strong></p>