jueves, mayo 16, 2024

Everything You Look For On a Website

HomeSoftwareTypeScript 5.1 release candidate arrives

TypeScript 5.1 release candidate arrives


TypeScript 5.1, featuring easier implicit returns for undefined-returning functions and allowing unrelated types for getters and setters, has moved to a release candidate stage as of May 18. The release candidate (RC) changes the behavior for init hooks in decorators and emit behavior under isolatedModules.

The changes to the emit behavior under isolatedModules ensure that script files are not rewritten to modules. They also ensure that using the transpileModule API will not result in script files being interpreted as modules, as transpileModule assumes the usage of isolatedModules.

To correct the behavior of init hooks in decorators, the evaluation order of decorator-injected initializers was changed for accessor and non-accessor fields. Also new in the RC is the addition of refactoring support for moving declarations to existing files. This feature will be previewed in TypeScript 5.1, and can be tried out in a recent version of the Visual Studio Code editor.

TypeScript 5.1 features a whole host of coding enhancements. With easier implicit returns for undefined-returning functions, TypeScript 5.1 allows undefined-returning functions to have no return statement, fixing a situation in which only functions that could have absolutely no return statements were void-returning and any-returning functions. This meant that even if a developer explicity indicated that a function returned undefined, at least one return statement was required.

This was a problem if an API expected a function to return undefined, in which case at least one explicit return of undefined or a return statement and an explicit annotation was needed. This behavior was confusing and frustrating, Microsoft said. Also with TypeScript 5.1, if a function has no return expression and is being passed to something that expects a function to return undefined, TypeScript infers undefined for that function’s return type.

READ  Google Photos' upcoming Magic Editor is cool, but I don't like it

TypeScript 5.1 also now allows completely unrelated types for get and set accessor properties, provided they have explicit type annotations. This follows TypeScript 4.3 allowing a get and set accessor pair to specify two different types.

TypeScript 5.1 is due in a final, production release on May 30. Predecessor TypeScript 5.0 was released last month. The TypeScript 5.1 RC is available through NuGet or via NPM:

npm install -D typescript@rc

Other new capabilities and improvements in TypeScript 5.1:

  • TypeScript now provides snippet completions when typing out a @param JSDoc tag in both TypeScript and JavaScript files. This can help cut down on typing and jumping around text as developers document code or add JSDoc types in JavaScript.
  • TypeScript 5.1 avoids performing type instantiation within object types known not to contain references to outer type parameters. This could cut down on many unnecessary computations and reduce type-checking time of Material. UI’s docs directory by more than 50%.
  • When checking if a source type is part of a union type, TypeScript 5.1 first does a fast lookup using an internal type identifier for that source. If the lookup fails, TypeScript checks for compatibility against every type within the union.
  • TypeScript now only runs on Node.js 14.17 and later.
  • Namespaced attribute names now are supported when using the JSX syntax. Also for JSX, TypeScript 5.1 now looks up a type called JSX.ElementType, which specifies precisely what is valid to use as a tag in a JSX element.
  • When TypeScript’s specified module lookup strategy is unable to resolve a path, it now will resolve packages relative to the specified typeRoots.

Copyright © 2023 IDG Communications, Inc.

READ  Visions' Rodrigo Blaas Talks Making the Sith Short




Please enter your comment!
Please enter your name here

Most Popular

Recent Comments