title: TypeScript + ES6 Map + Index signature of object type implicitly has an 'any' type
body: <p>I have the following code in TypeScript:</p>
  
  <pre><code>export class Config
  {
      private options = new Map&lt;string, string&gt;();
  
      constructor() {
      }
  
      public getOption(name: string): string {
          return this.options[name]; // &lt;-- This line causes the error.
      }
  }
  </code></pre>
  
  <p>And the compiler is giving me this error:</p>
  
  <p><code>Error:(10, 16) TS7017: Index signature of object type implicitly has an 'any' type.</code></p>
  
  <p>The Map is 'possible' through es6-shim. I am not quite sure what is going on here. Actually this Map confuses me a little. Map is supposed to come from es6-shim which is supposed to implement es6 functionality. But es6 doesn't have static types, right? So, why the Map expects the key/value types as generic arguments? I have seen some people adding a 'noImplicitAny' flag but I want to solve the problem, not ignore it.</p>
  
  <p>Thank you.</p>