Types in object destructuring : <p>This</p>

<pre><code>const { foo: IFoo[] } = bar;
</code></pre>

<p>and this</p>

<pre><code>const { foo: Array&lt;IFoo&gt; } = bar;
</code></pre>

<p>will reasonably cause an error.</p>

<p>And this</p>

<pre><code>const { foo: TFoo } = bar;
</code></pre>

<p>will just destructure <code>TFoo</code> property.</p>

<p>How can types be specified for destructured object properties?</p>
