TypeScript 3.1 Adds Mappable Tuples
Written by Kay Ewbank   
Thursday, 25 October 2018

TypeScript has been updated to add support for mappable tuple and array types.

TypeScript is a superset of JavaScript that was developed by Microsoft. It builds on the ECMAScript standard and includes support for optional static types that are designed to make it easier to use when creating large client or server-side applications. Once created, your TypeScript code then gets transformed into clean, runnable JavaScript. TypeScript includes editor support for Visual Studio 2015 and 2017, Sublime Text 3 and new for this release, Visual Studio Code.

The main improvement to the new version is support for mappable tuple and array types. TypeScript has a mapped object type that can generate new types out of existing ones, and the new feature means that mapped object types work correctly with tuples and arrays.

Namespaces are the second area to be improved. JavaScript, functions are just objects and can have properties added to them just as with any object. This has historically been managed in TypeScript by using namespaces, but the way JavaScript has evolved means this is no longer very useful and can cause problems bringing in code from non-typed sources. This problem has been dealt with by altering the way the TypeScript type checker works so that if there's a function declaration or const declaration that’s initialized with a function, the type-checker will analyze the containing scope to track any added properties.

Other changes include a better way to handle different versions of TypeScript to prevent problems with using the wrong library; and the addition of a refactoring to convert functions that return promises constructed with chains of .then() and .catch() calls to async functions that use await.

There are some breaking changes to this version. In particular, the way narrowing functions work has been changed so that the typeof foo === "function" type guard may provide different results when intersecting with some union types. More details in the TypeScript wiki.  

typescriptlogo

More Information

TypeScript On NuGet

TypeScript On GitHub

Related Articles

TypeScript 3.0 Adds Project References

TypeScript Adds Unused Span Reporting

TypeScript Adds Conditional Types

TypeScript 2.7 Improves Type Inference

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


Call For Code 2024 Focuses On Generative AI
01/03/2024

This year's Call for Code challenge has been launched with a theme of the use of generative AI technology for solutions that aim to improve equitable access to resources and opportunities for historic [ ... ]



iOS 17.4 Released With Support For App Stores In The EU
06/03/2024

I have written about Apple's approach to complying with regulation, characterizing it as malicious compliance. It also seems that Apple is a master of creating the unintended consequence and letting i [ ... ]


More News

raspberry pi books

 

Comments




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

Last Updated ( Thursday, 25 October 2018 )