Typescript - static

ES6 includes static members and so does TypeScript

The static members of a class are accessed using the class name and dot notation, without creating an object e.g. <ClassName>.<StaticMember>. You can not access it using instance of that class

class Circle {
static pi: number = 3.14;

static calculateArea(radius:number) {
return this.pi * radius * radius;
}
}

console.log(Circle.pi); // returns 3.14
console.log(Circle.calculateArea(5)); // returns 78.5
const circle = new Circle();
circle.calculateArea(5); // Error TS2576: Property 'calculateArea' does not exist on type 'Circle'. Did you mean to access the static member 'Circle.calculateArea' instead?