title: typescript named parameters like used in angularjs?
body: <p>I'm trying to learn both TypeScript and Angular (and thus JavaScript).</p>
  <p>Going through the Angular tutorials, I see they do stuff like this:</p>
  <p>In normal javascript:</p>
  <pre class="lang-js prettyprint-override"><code>function CreateCtrl($scope, $location, Project){
  // do stuff
  }
  </code></pre>
  <p>For full example, see the &quot;Wire up a backend&quot; project.js example
  on the <a href="https://angularjs.org" rel="nofollow noreferrer">Angular homepage</a>.</p>
  <p>The kicker is, those parameters could be in any order (or not there at all), and <code>Project</code> is actually a user defined variable/type.    The Angular framework is able to map the parameters to actual objects.</p>
  <p>So now to Typescript,  how can I recreate this type of functionality?   I would like to describe Angular's behavior in some way, to let me wrap it in Typescript (strongly type this flexible property injection).</p>