Related topics

TypeScript 0.9 arrives with new compiler, support for generics

Biggest update yet for Microsoft's JavaScript alternative

Microsoft on Tuesday announced TypeScript 0.9.0, the latest version of its JavaScript killer alternative web language, which Redmond describes as the "largest update to TypeScript to date."

In addition to the usual assortment of bug fixes and performance improvements, this release includes a number of significant new language features and introduces a new, more scalable compiler architecture, according to a blog post by TypeScript program manager Jonathan Turner.

"This release marks the first step of the 0.9.x series, introducing most of the new capabilities of this series which will be further refined over the next few months based on your feedback," Turner wrote.

Perhaps the most important language enhancement is the inclusion of generics, which Turner described as the feature most often requested by TypeScript 0.8 users. Generics allow you to declare APIs using placeholders for the data types of arguments and return values, allowing for more code reuse with increased type safety.

Type safety is of course one the most important features of TypeScript, which builds on the loosely typed, prototype-based JavaScript syntax by adding optional strict typing and class-based object orientation.

Because TypeScript is a superset of JavaScript, valid JavaScript code is also valid TypeScript code. TypeScript just provides additional language features to enable what Microsoft terms "application-scale" JavaScript programming.

In addition to generics, TypeScript 0.9 introduces a finalized syntax for enumerated types (enums), the ability to overload methods to return values of various types based on the specific constants they're fed as arguments, and new syntax to better support JavaScript and TypeScript modules.

A number of other relatively minor changes to the syntax have also been made that could break compatibility with code written for earlier versions of TypeScript – you can find a list here.

On top of these changes, the TypeScript compiler has been significantly reengineered to provide "a much higher fidelity implementation" of the TypeScript language specification, and to provide better incremental performance when working in IDEs such as Visual Studio.

TypeScript 0.9 already provides much better performance for code completion, error reporting, type information, and various other IDE features, Turner said. Future versions are expected to continue this trend, with the goal of ensuring that IDEs can still provide good performance with code bases of 100,000 lines or more.

On the downside, command-line compilation with TypeScript 0.9.0 is "somewhat slower" than when using the older compiler, but Turner says he expects this to improve significantly in TypeScript 0.9.1.

Microsoft has already rewritten its type information for the JavaScript API and HTML DOM to use the new TypeScript 0.9 language features, and has updated its documentation and code samples, so that developers can start taking advantage of generics and other improvements immediately after they upgrade.

As with previous versions of TypeScript, Microsoft has released version 0.9 under the Apache 2.0 open source license, and it is available for download from the TypeScript site on CodePlex as of Tuesday. ®

Sponsored: Today’s most dangerous security threats