Microsoft has officially released the latest iteration of TypeScript, version 1.5 which includes more support for ES6 features such as modules, destructuring, computed properties, and tagged string templates.


In the above table, you can see our progress on the Kangax ES6 support table.  This table, originally for JS engines, also shows coverage of the features transpilers and polyfills support for ES5 output.  With TypeScript 1.5, we doubled the number of passing tests and will continue to improve over the next few releases. — TypeScript Blog

In addition to the support of ES6 modules, the TypeScript team are working to make understanding how to work with modules easier by changing internal modules to “namespaces” and external modules remain “modules” while staying close to the ES6 module syntax.

This version of TypeScript is also looking forward to ES7 with support for the proposed Decorator syntax used in Angular 2.0, Ember, and Aurelia.  The Decorators feature is considered ‘experimental’ for now as the definition goes through the approval process, but many frameworks are already taking advantage of the syntax such as this snippet of AngularJS 2.

import {Component, View, NgFor, bootstrap} from "angular2/angular2";
import {loadFile} from "audioFile";
import {displayAudioFile} from "displayAudio";

@Component({selector: 'file-list'})
@View({template: <code>&amp;lt;select id=&amp;quot;fileSelect&amp;quot; size=&amp;quot;5&amp;quot;&amp;gt;
&amp;lt;option *ng-for=&amp;quot;#item of items; #i = index&amp;quot;
[selected]=&amp;quot;selected === item&amp;quot;(click)=&amp;quot;updateSelection()&amp;quot;&amp;gt;{{ item }}&amp;lt;/option&amp;gt;
directives: [NgFor]

class MyDisplay {
items: string[];
constructor() {
this.items = [&quot;item1&quot;, &quot;item2&quot;];

updateSelection() { … }

For more information read the TypeScript teams Blog post.