Skip to content

TypeScript 4.3 Syntax Support #3272

Closed
Closed
@bradzacher

Description

@bradzacher

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!
  • .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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions