Skip to main content


Learning TypeScript's Classes chapter introduces a plethora of type system features and syntaxes around classes:

  • Declaring and using class methods and properties
  • Marking properties readonly and/or optional
  • Using class names as types in type annotations
  • Implementing interfaces to enforce class instance shapes
  • Extending classes, along with assignability and override rules for subclasses
  • Marking classes and methods as abstract
  • Adding type system modifiers to class fields