Closed
Description
https://devblogs.microsoft.com/typescript/announcing-typescript-4-3-rc/
This issue is just to track all of the new features and their implementation state in this project.
As with all releases, we will not necessarily to support all features until closer to the full release when everything the features are stabilised.
Please be patient.
Separate Write Types on Properties (Supported: #3427)
interface Thing {
get size(): number
set size(value: number | string | boolean);
}
This will require AST changes.
override
and the --noImplicitOverride
Flag (Supported: #3429)
class SpecializedComponent extends SomeComponent {
override show() {
// ...
}
override hide() {
// ...
}
}
This will require AST changes.
ECMAScript #private
Class Elements (NOT YET Supported: #3430)
class Foo {
#someMethod() {
//...
}
get #someValue() {
return 100;
}
static #someStaticMethod() {
// ...
}
}
Private names are still waiting to be fully implemented (See #1436).
This will require AST changes.
static
Index Signatures
class Foo {
static hello = "hello";
static world = 1234;
static [propName: string]: string | number | undefined;
}
This is already supported!!
Other changes with no AST impact to us
- ConstructorParameters Works on Abstract Classes
- Contextual Narrowing for Generics
- Always-Truthy Promise Checks
- This means TS natively handles one of the use-cases of
no-misused-promises
!
- This means TS natively handles one of the use-cases of
- .tsbuildinfo Size Improvements
- Lazier Calculations in --incremental and --watch Compilations
- Import Statement Completions
- Editor Support for
@link
Tags - Go-to-Definition on Non-JavaScript File Paths
- lib.d.ts Changes
- Union Enums Cannot Be Compared to Arbitrary Numbers