title: Declare and initialize a Dictionary in Typescript
body: <p>Given the following code</p>
  
  <pre><code>interface IPerson {
     firstName: string;
     lastName: string;
  }
  
  var persons: { [id: string]: IPerson; } = {
     "p1": { firstName: "F1", lastName: "L1" },
     "p2": { firstName: "F2" }
  };
  </code></pre>
  
  <p>Why isn't the initialization rejected? After all, the second object does not have the "lastName" property.</p>