title: TypeScript and dot-notation access to objects
body: <p>If TypeScript is a strict superset of JavaScript, why is dot notation on an arbitrary object erroneous? I have JS code that I want to convert over to TS for better type safety, but all access using dot notation (eg, <code>myObj.thing</code>) gives me the error <code>Property 'thing' does not exist on type '{}'.</code>. It works properly when I use bracket notation (eg, <code>myObj['thing']</code>).</p>
  
  <p><img src="https://i.stack.imgur.com/3uTtr.png" alt="Property does not exist on type"></p>