TypeScript 4.0

Class Property Inference from Constructors

TypeScript 4.0 can now use control flow analysis to determine the types of properties in JavaScript Class Notation when noImplicitAny is enabled.

class Square {
    // Previously: implicit any!
    // Now: inferred to `number`!
    area;
    sideLength;
 
    constructor(sideLength: number) {
        this.sideLength = sideLength;
        this.area = sideLength ** 2;
    }
}