TypeScript 4.3 supports type specification for properties
This type specification enhancement addresses a situation in which modeling APIs that convert values in TypeScript has required picking between “being precise” and “being permissive.” By being precise, developers could make reading values easier but writing them harder. By being permissive, they could make writing values easier but reading harder.
TypeScript 4.3 is available in beta release as of April 1. A release candidate is due on May 11, and the production release on May 25.
Other features planned in TypeScript 4.3 include:
- The addition of an
noImplicitOverrideflag makes it an error to override any method from a superclass unless the developer explicitly uses the
- Improvements to template string types, including better relating and inferring between different template string types. TypeScript now does the work to prove whether or not each part of a template string can successfully match.
- More class elements can be given
#private#namesto make them truly private at runtime. In addition to properties, now methods and accessors can be given private names, as can static members.
strictNullChecks, an error will be triggered when checking whether a
Promiseis “truthy” in a conditional.
- Index signatures, which allow developers to set more properties on a value than a type explicitly declares, now can be declared as
static. Previously, they could only be declared on the instance side of a class.
- When an
importstatement does not have a path, a list of possible imports will be provided. When developers commit a full completion, the full import statement will be completed including the path that was going to be written.
- TypeScript now can understand
@Linktags and will try to resolve declarations they link to.
TypeScript 4.3 can be accessed through NuGet or via NPM using the command
npm install [email protected]. TypeScript 4.2 was published as a production release on February 23, featuring enhancements pertaining to tuple types and type aliases.