TypeScript 2.7 Improves Type Inference
Written by Kay Ewbank   
Monday, 05 February 2018

There's a new version of TypeScript that has improvements including easier ECMAScript module interoperability, support for fixed length tuples, and smarter object literal inference.

TypeScript was developed by Microsoft ,and is a superset of JavaScript that builds on the ECMAScript standard and includes support for static types. Your TypeScript code then gets transformed into clean, runnable JavaScript.

The improvements to the new version start with stricter class property checks via a new strictness flag that makes sure that each instance property of a class gets set in the constructor body, or by a property initializer. Writing about the change on the MSDN blog, Daniel Rosenwasser, Program Manager on TypeScript says that:

"In a sense, it brings some of the definite assignment checks from variables to instance properties in classes."
 

The new version also strengthens the use of definite assignment assertions. These cater for situations where properties might be initialized indirectly, such as by a helper method or dependency injection library. You can use a definite assignment assertion to tell the type system that the property will definitely get assigned. In the past this was limited to class properties, but it can now be used on variable declarations.

The next change of interest is better interoperability for ECMAScript modules. The history of module formats in the JavaScript ecosystem means that there are several 'legacy' module formats such as those used by Babel, Webpack, and React Native, prior to ECMAScript modules being standardized in ES2015. The new version has a new compiler option that handles non-TypeScript module formats more intelligently.

Other improvements include cleaner output in --watch mode; better formatting of error messages when using the --pretty flag; support for fixed length tuples; and smarter object literal inference.

typescriptlogo

More Information

TypeScript on NuGet

TypeScript On GitHub

Related Articles

TypeScript 2.5 Adds Optional Catch Binding

TypeScript 2.4 Adds Dynamic Import Expressions  

TypeScript 2.3 Released

TypeScript 2.2 Adds More Code Actions

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Wasmer 5 Adds iOS Support
12/11/2024

The Wasmer team has released Wasmer 5.0. The WebAssembly runtime adds experimental support for more back ends including V8, Wasmi and WAMR. It also now has iOS support, and upgraded compilers includin [ ... ]



The Feds Want Us To Move On From C/C++
13/11/2024

The clamour for safe programming languages seems to be growing and becoming official. We have known for a while that C and C++ are dangerous languages so why has it become such an issue now and is it  [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info