title: TypeScript + React: defaultProps not works for optional props in strict null checking mode
body: <p>My TypeScript version is <code>2.0.10</code>.</p>
  
  <p>The component</p>
  
  <pre><code>import * as React from "react";
  
  export interface HelloProps { list?: number[]; }
  
  export class Hello extends React.Component&lt;HelloProps, {}&gt; {
      static defaultProps = {
          list: [1, 2, 3]
      }
      static propTypes = {
          list: React.PropTypes.array,
          title: React.PropTypes.string
      };
  
      render() {
          let {list} = this.props
          return (
              &lt;ul&gt;
                  {
                      // error here: Object is possibly 'undefined'.
                      list.map(item =&gt; (
                          &lt;li&gt;{item}&lt;/li&gt;
                      ))
                  }
              &lt;/ul&gt;
          )
      }
  }
  </code></pre>
  
  <p>The TypeScript compiler config file</p>
  
  <pre><code>{
      "compilerOptions": {
          "outDir": "./dist/",
          "sourceMap": true,
          "noImplicitAny": true,
          "module": "commonjs",
          "target": "es5",
          "jsx": "react",
          "strictNullChecks": true
      },
      "include": [
          "src/**/*"
      ]
  }
  </code></pre>
  
  <p>Note that I set <code>strictNullChecks</code> to <code>true</code> here. And the compile output:</p>
  
  <pre><code>ERROR in ./src/Hello.tsx
  (19,21): error TS2532: Object is possibly 'undefined'.
  </code></pre>
  
  <p>But I have set the default value for list. Is it a TypeScript bug? </p>